summaryrefslogtreecommitdiff
path: root/cpukit/libdl (follow)
AgeCommit message (Collapse)Author
2020-08-20Fix -Wchar-subscripts warningsAschref Ben Thabet
The argument to the ctype functions must be an int and the value of the character must be representable as an unsigned char or equal to the value of the macro EOF. If the argument has any other value, the behavior is undefined.
2020-05-06libdl: Add allocator check scriptChris Johns
Use with the trace outout to check for allocation leaks.
2020-05-05libdl/rap: Correctly check the return enum from rela callsChris Johns
- The change from bool to an enum did not trip a compiler warning and only the rel path was changed. The rela path was missed so archs like SPARC failed. Updates #3969
2020-05-05libdl/obj-comp: Add trace prints when decompressingChris Johns
Updates #3969
2020-05-05libdl/obj-cache: Fail if the read offset is past the file lengthChris Johns
- The check was for greater than and not equal or greater Updates #3969
2020-05-05libdl/obj: Fix RAP format call table.Chris Johns
Updates #3969
2020-05-05libdl/sparc: Print trace message of reloc failture pathChris Johns
Updates #3969
2020-05-05libdl: Fix comment.Chris Johns
Updates #3969
2020-04-28libdl/mips: Fix MIPS16hi/lo relocation support.Chris Johns
This patch is an updated version from: https://lists.rtems.org/pipermail/users/2016-January/029740.html Closes #3693
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-11-12riscv: preliminarily support for libdlHesham Almatary
Support for targets compiled with -fno-pic and -mno-relax
2019-08-12libdl/debugger: Fix the broken list delete when unloading an object module.Chris Johns
Closes #3777
2019-08-04libdl/arm: Add support for ARM trampolinesChris Johns
Closes #3776
2019-07-28libdl/arm: Fix ARM mode trampoline parsing of relocsChris Johns
- No need to dump globals syms in test dl01 when tracing Closes #3775
2019-06-12libdl/rap: fix RAP file load error.zhengxiaojun
2019-05-22libdl: Sort object file symbols and use a binary search to findChris Johns
- Replace the linear object file symbol search with a binary search. - Sort the object file symbols after loading. Closes #3748
2019-05-14libdl: Fix size bug in loading symbols.Chris Johns
This was introduced in 74883be5d4b5fa166179d6003032f6eac2e0f544. Updates #3746
2019-05-14libdl: Fix loading symbol that reference unknown sections.Chris Johns
- Make the symbol parsing and loading stage match. - Check for possible overflow of the tables when loading. Closes #3746
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-03-22libdl: Add an archive commandChris Johns
- The archive command lists archives, symbols and any duplicate symbols. - Change the RTL shell commands to the rtems_printer to allow the output to be captured.
2019-03-07libdl: Add small data support to the remaining PowerPC BSPs.Chris Johns
Updates #3687
2019-02-20libdl/unresolved: Fix return value for rtems_rtl_unresolved_removeChris Johns
Coverity 1399717 Updates #3686
2019-02-20libdl/archive: Check for an overflow of the symbol table.Chris Johns
Coverty 1442636 Updates #3686
2019-02-20libdl/archive: Fix the config file string index while removing tailing white ↵Chris Johns
space. Coverity issue 1442540 Updates #3686
2019-02-20libdl/archive: Return false on read failure.Chris Johns
Coverity issue 1442641 Updates #3686
2019-02-20libdl/alloc: Add a locking interface to the allocator.Chris Johns
- Allow an allocator to lock the allocations. This is needed to lock the heap allocator so the text and trampoline table are as close together as possible to allow for the largest possible object file size. - Update the default heap allocator to lock the heap allocator. - Update ELF loading to lock the allocator. Updates #3685
2019-02-15libdl/rap: Add the section alloc call after section load was splitChris Johns
Updates #3687
2019-02-15libdl: Allocator does not unlock and lock memory on loading.Chris Johns
Close #3692
2019-02-09libdl: Add powerpc large memory and small data support.Chris Johns
- Add support for architecure sections that can be handled by the architecture back end. - Add trampoline/fixup support for PowerPC. This means the PowerPC now supports large memory loading of applications. - Add a bit allocator to manage small block based regions of memory. - Add small data (sdata/sbss) support for the PowerPC. The support makes the linker allocated small data region of memory a global resource available to libdl loaded object files. Updates #3687 Updates #3685
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: Add support for trampolinesChris Johns
- Trampolines or fixups for veneers provide long jump support for instruciton sets that implement short relative address branches. The linker provides trampolines when creating a static image. This patch adds trampoline support to libdl and the ARM architecture. - The dl09 test requires enough memory so modules are outside the relative branch instruction ranges for the architecture. 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
2019-02-09libdl: Fix dlerror non-conformanceChris Johns
Closes #3298
2019-01-07Fix format warningsSebastian Huber
2018-12-025 spelling errors for a Google Code-In task.Jacob Shin
Username: deuteriumoxide Email: jacobshin313@gmail.com
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-11-22libdl: Reindex unresolved names after removing used records.Chris Johns
Updates #3194
2018-11-22libdl: Manage the allocation of common uninitialised variables.Chris Johns
The use of separate text and data results in uninitialised variables being placed in the common section. There is no section in ELF for the common variables so the loader needs to create the section and allocate the variables in that section. This patch does that. The patch adds a second pass over the symbols. The issue can also be seen as a section 65522 error. Updates #3604
2018-10-09build: Merge libdl/Makefile.amSebastian Huber
2018-10-04libdl: Avoid command line definesSebastian Huber
Update #3375.
2018-04-12libdl: Remove _t from all structures as this is reserved for the standardsChris Johns
2018-04-12libdl: RAP format fixes.Chris Johns
- Do not error if a RAP section is not found. - Free a symbol table via the RTL allocator interface. - Add the symbols to the global symbol table. Update #2769
2018-02-07libdl: Fix potential overwrite of dest bufferSebastian Huber
Update #2843.
2018-02-07libdl: Use self-contained mutex for RAPSebastian Huber
Update #2843.
2018-02-07libdl: Use self-contained recursive mutexSebastian Huber
Update #2843.
2018-01-25Remove make preinstallChris Johns
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-12-13libdl: Include <rtems/rtl/rtl-*.h>Sebastian Huber
Prepare for header file move to common include directory. Update #3254.
2017-10-06libdl: Fix warningsSebastian Huber
Update #3155.
2017-10-06libdl: Use 64-bit ELF on 64-bit targetsSebastian Huber
Update #3155.