[RTEMS Project] #3686: Add library searching and loading to libdl

RTEMS trac trac at rtems.org
Sat Feb 2 04:55:41 UTC 2019

#3686: Add library searching and loading to libdl
  Reporter:  Chris Johns  |      Owner:  Chris Johns
      Type:  defect       |     Status:  assigned
  Priority:  normal       |  Milestone:  5.1
 Component:  lib/dl       |    Version:  5
  Severity:  normal       |   Keywords:
Blocked By:               |   Blocking:
 Provide support to search library files (archives) for symbols loading the
 object file that contains the symbol. The support shall:

 1. Parse a configuration file called `/etc/libdl.conf` for the list of
 archive symbols to load. Support `fnmatch()` wildcard parsing. Allow
 runtime updates reloading if there is a change.

 2. Maintain archive symbol tables in memory to improve symbol search
 performance. Archives must have a `ranlib` generated symbol table.  Reload
 an archive if it has changed.

 3. Make sure separate text and data built object files is supported.
 Assume a duplicate symbol means that section and symbol has already been
 loaded. Load all sections not loaded. There is no need to be efficient at
 this point in time.

 4. Add support to check if there are any system wide unresolved symbols.

 5. Automatically unloaded archive object files that are not referenced.

 6. Duplicate symbols in archives is not an error. The first archive that
 has the symbol in an object file is loaded.

 The feature adds '''symbol based demand loading''' of object files to
 `libdl`. A user loads an object file using the `dlopen` function and
 unresolved symbols are loaded from the libraries hosted on the target.

Ticket URL: <http://devel.rtems.org/ticket/3686>
RTEMS Project <http://www.rtems.org/>
RTEMS Project

More information about the bugs mailing list