[RTEMS Project] #3748: libdl uses a linear symbol search on object file symbols

RTEMS trac trac at rtems.org
Tue May 14 00:32:24 UTC 2019


#3748: libdl uses a linear symbol search on object file symbols
--------------------------+----------------------
  Reporter:  Chris Johns  |      Owner:  (none)
      Type:  defect       |     Status:  assigned
  Priority:  normal       |  Milestone:  5.1
 Component:  lib/dl       |    Version:  5
  Severity:  normal       |   Keywords:
Blocked By:               |   Blocking:
--------------------------+----------------------
 Symbol searching has two parts, searching the object file and searching
 the global symbol table. Currently the object file search is linear and
 the global table search uses a hash table.

 A large incrementally linked object file can have a large local and global
 set of symbols and this can slow the loading process. This issue does not
 show up for small object files with a few symbols which is typically how
 our libraries are made.

 Change the object file symbol search to a binary search (`bsearch`). A
 hash table for each object file would increase the in memory object file
 footprint by a significant amount and would harm the small object file use
 case that only have a few symbols. A binary search is a suitable
 compromise.

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


More information about the bugs mailing list