summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl/rtl.c (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-04-16Canonicalize config.h includeSebastian Huber1-1/+1
Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
2019-05-03libdl: Do not access the ELF file while the allocator is locked.Chris Johns1-14/+17
- Load symbols before allocation. - Parse reloc records and place any reloc recs in a cache to use while the allocator is locked. - Relocate symbols after section allocation. - Split section loading into allocation/locating and loading. - Update all arch back-ends with a new reloc interface to control tramp handling. - Add `-a` and `-t` to the object list shell command. Closes #3741
2019-02-09libdl: Add support for large memory programsChris Johns1-1/+9
- Add trampolines to support relocs that are out of range on support architectures. - Support not loading separate text/data sections in an object file if the symbol provided in the section is a duplicate. A base image may have pulled in part of an object and another part needs to be dynamically loaded. - Refactor the unresolved handling to scale to hundreds of unresolved symbols when loading large number of files. Updates #3685
2019-02-09libdl: Fix the support for constructors and desctructors.Chris Johns1-33/+60
- Fix the handling of pending objects. - Add a constructor flags in objects to track then being called. Closes #2921
2019-02-09libdl: Add symbol searching and loading from archives.Chris Johns1-58/+219
- Load archive symbol tables to support searching of archives for symbols. - Search archive symbols and load the object file that contains the symbol. - Search the global and archives until all remaining unresolved symbols are not found. Group the loaded object files in the pending queue. - Run the object file and loaded dependents as a group before adding to the main object list. - Remove orphaned object files after references are removed. Updates #3686
2018-11-22libdl: Add object file dependencies to track referencesChris Johns1-1/+47
Tracking references lets us manage when an object file can be unloaded. If an object file has references to it, it cannot be unloaded. Modules that depend on each other cannot be unloaded. Updates #3605
2018-04-12libdl: Remove _t from all structures as this is reserved for the standardsChris Johns1-30/+30
2018-02-07libdl: Use self-contained recursive mutexSebastian Huber1-58/+12
Update #2843.
2017-12-13libdl: Include <rtems/rtl/rtl-*.h>Sebastian Huber1-2/+2
Prepare for header file move to common include directory. Update #3254.
2016-12-14libdl: Add C++ exception support to loaded modules.Chris Johns1-1/+32
This has been tested on SPARC, i386, PowerPC and ARM. Closes #2767.
2015-03-20Replace www.rtems.com with www.rtems.orgSebastian Huber1-1/+1
2014-10-31cpukit: Add libdl with the Runtime Loader (RTL) code.Chris Johns1-0/+637
This is a merge of the RTL project.