summaryrefslogtreecommitdiff
path: root/cpukit/libdl/rtl.c (follow)
AgeCommit message (Collapse)Author
2020-04-16Canonicalize config.h includeSebastian Huber
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 Johns
- 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 Johns
- 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 Johns
- 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 Johns
- 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 Johns
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 Johns
2018-02-07libdl: Use self-contained recursive mutexSebastian Huber
Update #2843.
2017-12-13libdl: Include <rtems/rtl/rtl-*.h>Sebastian Huber
Prepare for header file move to common include directory. Update #3254.
2016-12-14libdl: Add C++ exception support to loaded modules.Chris Johns
This has been tested on SPARC, i386, PowerPC and ARM. Closes #2767.
2015-03-20Replace www.rtems.com with www.rtems.orgSebastian Huber
2014-10-31cpukit: Add libdl with the Runtime Loader (RTL) code.Chris Johns
This is a merge of the RTL project.