diff options
author | Chris Johns <chrisj@rtems.org> | 2019-05-14 10:34:32 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2019-05-22 09:28:06 +1000 |
commit | 327e45dac2edae51caabc7777e2381ad653502ff (patch) | |
tree | 4b3ead70909f23a4c0c7dba6b6bba3a56dd88e3e /cpukit/include/rtems/rtl/rtl-sym.h | |
parent | score: Add _SMP_Unicast_action() (diff) | |
download | rtems-327e45dac2edae51caabc7777e2381ad653502ff.tar.bz2 |
libdl: Sort object file symbols and use a binary search to find
- Replace the linear object file symbol search with a binary search.
- Sort the object file symbols after loading.
Closes #3748
Diffstat (limited to 'cpukit/include/rtems/rtl/rtl-sym.h')
-rw-r--r-- | cpukit/include/rtems/rtl/rtl-sym.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cpukit/include/rtems/rtl/rtl-sym.h b/cpukit/include/rtems/rtl/rtl-sym.h index aff9339ea1..07cad4cab6 100644 --- a/cpukit/include/rtems/rtl/rtl-sym.h +++ b/cpukit/include/rtems/rtl/rtl-sym.h @@ -97,6 +97,15 @@ bool rtems_rtl_symbol_global_add (rtems_rtl_obj* obj, rtems_rtl_obj_sym* rtems_rtl_symbol_global_find (const char* name); /** + * Sort an object file's local and global symbol table. This needs to + * be done before calling @ref rtems_rtl_symbol_obj_find as it + * performs a binary search on the tables. + * + * @param obj The object file to sort. + */ +void rtems_rtl_symbol_obj_sort (rtems_rtl_obj* obj); + +/** * Find a symbol given the symbol label in the local object file. * * @param obj The object file to search. |