summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* cpukit/aarch64: Resolve warnings with ILP32 ABIKinsey Moore2023-09-261-2/+5
| | | | | | Casts from uint64_t to void* must go through a uintptr_t cast to avoid warnings when building with the ILP32 ABI since this is otherwise an implicit truncation to 32bits for a pointer.
* libdl: Use _CPU_Get_TLS_thread_pointer()Sebastian Huber2023-09-151-67/+6
| | | | Update #4920.
* microblaze: Fix relocation targetsAlex White2023-09-121-9/+10
| | | | | | Previously the addend was only used in 64 bit relocations. This behavior was incorrect but did not cause the RTEMS libdl tests to fail.
* microblaze: Add libdl supportAlex White2023-08-302-1/+298
|
* cpukit/libdl: Fix incorrect operator precedence access the nameChris Johns2023-08-281-1/+2
| | | | Coverity Issue: CID 1442635 Out-of-bounds access
* cpukit/libdl: Correctly account for section alignmentsChris Johns2023-08-281-19/+12
| | | | | | | | | | | - Add the section alignment to the size as the allocator may not provide correctly aligned memory - Only include symbols in the section when locating symbols. The powerpc was incorrectly adding SDATA BSS symbols to the BSS offset overrunning the section Closes #4950
* libdl: Realloc text memory if there are trampolinesChris Johns2023-08-2717-104/+356
| | | | | | | | | - Add resize to the allocator interface - Rework the trampoline variables in the obj struct to make better sense of what is happening Closes #4944
* libdl: Add support to import base image TLS symbolsChris Johns2023-08-219-52/+366
| | | | | | | | | | | | | | | | This change requires an rtems-tools update for symbol generation. Working architectures: - aarch64 - arm - powerpc - sparc No newlib TLS support but checked: - i386 - m69k Updates #4920
* cpukit/libdl: AARCH64 unwind uses DWARF 2 tablesChris Johns2023-08-121-0/+17
| | | | Closes #4943
* libdl: Add support for LDST128_ABS_LO12_NCKinsey Moore2023-05-221-0/+4
|
* cpukit/libdl: Resolve size mismatch warningsKinsey Moore2023-04-053-19/+20
| | | | | Resolve warnings about mismatched pointer and integer sizes in AArch64 libdl when building with the ILP32 ABI.
* cpukit/libdl: Add AArch64 TLS reloc supportKinsey Moore2023-01-201-0/+38
| | | | | | This adds basic TLS relocation support for AArch64 to libdl. This lets loadable modules use TLS symbols hosted in the main binary. This does not allow loadable modules to host their own TLS symbols.
* cpukit/libdl: Print the missing AArch64 reloc typeKinsey Moore2023-01-201-2/+2
| | | | | This prints the relocation type that was found to be missing in addition to its address to aid in bug reports.
* cpukit/libdl: Use correct mask for reloc typeKinsey Moore2023-01-201-1/+1
| | | | | The mask 0xff is used by ELF32 while ELF64 uses 0xffffffff. These are automatically selected based on the build type when using ELF_R_TYPE().
* libdl: Refactor shared code in ARM and AArch64Ryan Long2022-08-084-158/+113
| | | | | | | | rtl-mdreloc-arm.c was used as the basis for rtl-mdreloc-aarch64.c. This lead to some code being shared by the two files. The code was consolidated into rtl-unwind-arm.c. Closes #4686
* libdl: Fix warnings on 64bit architecturesChris Johns2022-08-054-7/+7
| | | | Updates #4662
* cpukit/libdl/rtl-sym.c: Fix increment of variableRyan Long2022-07-291-1/+1
| | | | | | | | | | | | In rtems_rtl_symbol_global_add() the loop that gets to the end of the symbol table used "unsigned long" to increment the index for the table. For most architectures this resulted in 4, but with AArch64, it results in 8. This resulted in the symbols being read in wrong. Changing this to void* along with changing the RISC-V specific code for 8 byte pointers in rtems-tools to work independent of the architecture. Updates #4673 Closes #4682
* cpukit/libdl: Add support for AArch64Ryan Long2022-07-291-0/+599
| | | | | | rtl-mdreloc-aarch64.c and elf_machdep.h came from NetBSD. Updates #4682
* libdl/rtl-elf.h: Fix aarch64 defineRyan Long2022-07-291-1/+1
| | | | | | | The aarch64 define was incorrect. This was causing the libdl tests to not work correctly. Updates #4682
* libdl: Manually adding file headers and licensesRyan Long2022-04-276-0/+210
| | | | | | | These files had no file header, copyright, or license. Chris identified that these were made by him. Updates #4521
* cpukit/libdl: Manual file header reordering (SPDX, Doxygen, Copyright)Joel Sherrill2022-03-2235-300/+335
| | | | Updates #3053.
* cpukit/libdl Change license to BSD-2Joel Sherrill2022-03-2235-105/+770
| | | | Updates #3053.
* cpukit/libdl/rtl-alloc-check.py: Change to BSD-2 by handJoel Sherrill2022-03-221-7/+25
| | | | Updates #3053.
* libdl/rtl-mdreloc-h8300.c: Remove remnant of h8300 portJoel Sherrill2021-10-081-212/+0
| | | | Updates #2452.
* fastlz.c: Unused value (CID #1399751)Ryan Long2021-04-081-1/+9
| | | | | | CID 1399751: Unused value in fastlz2_compress(). Closes #4341
* Fix -Wchar-subscripts warningsAschref Ben Thabet2020-08-201-2/+2
| | | | | | | 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.
* libdl: Add allocator check scriptChris Johns2020-05-061-0/+96
| | | | Use with the trace outout to check for allocation leaks.
* libdl/rap: Correctly check the return enum from rela callsChris Johns2020-05-051-4/+13
| | | | | | | | - 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
* libdl/obj-comp: Add trace prints when decompressingChris Johns2020-05-051-0/+31
| | | | Updates #3969
* libdl/obj-cache: Fail if the read offset is past the file lengthChris Johns2020-05-051-4/+5
| | | | | | - The check was for greater than and not equal or greater Updates #3969
* libdl/obj: Fix RAP format call table.Chris Johns2020-05-051-1/+0
| | | | Updates #3969
* libdl/sparc: Print trace message of reloc failture pathChris Johns2020-05-051-1/+4
| | | | Updates #3969
* libdl: Fix comment.Chris Johns2020-05-051-1/+1
| | | | Updates #3969
* libdl/mips: Fix MIPS16hi/lo relocation support.Chris Johns2020-04-281-24/+45
| | | | | | | | This patch is an updated version from: https://lists.rtems.org/pipermail/users/2016-January/029740.html Closes #3693
* Canonicalize config.h includeSebastian Huber2020-04-1620-20/+20
| | | | | | | | Use the following variant which was already used by most source files: #ifdef HAVE_CONFIG_H #include "config.h" #endif
* riscv: preliminarily support for libdlHesham Almatary2019-11-122-1/+436
| | | | Support for targets compiled with -fno-pic and -mno-relax
* libdl/debugger: Fix the broken list delete when unloading an object module.Chris Johns2019-08-122-15/+13
| | | | Closes #3777
* libdl/arm: Add support for ARM trampolinesChris Johns2019-08-041-1/+18
| | | | Closes #3776
* libdl/arm: Fix ARM mode trampoline parsing of relocsChris Johns2019-07-281-16/+16
| | | | | | - No need to dump globals syms in test dl01 when tracing Closes #3775
* libdl/rap: fix RAP file load error.zhengxiaojun2019-06-121-2/+2
|
* libdl: Sort object file symbols and use a binary search to findChris Johns2019-05-222-9/+46
| | | | | | | - Replace the linear object file symbol search with a binary search. - Sort the object file symbols after loading. Closes #3748
* libdl: Fix size bug in loading symbols.Chris Johns2019-05-141-2/+2
| | | | | | This was introduced in 74883be5d4b5fa166179d6003032f6eac2e0f544. Updates #3746
* libdl: Fix loading symbol that reference unknown sections.Chris Johns2019-05-141-56/+159
| | | | | | | - Make the symbol parsing and loading stage match. - Check for possible overflow of the tables when loading. Closes #3746
* libdl: Do not access the ELF file while the allocator is locked.Chris Johns2019-05-0319-514/+1042
| | | | | | | | | | | | | - 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
* libdl: Add an archive commandChris Johns2019-03-223-171/+946
| | | | | | | - 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.
* libdl: Add small data support to the remaining PowerPC BSPs.Chris Johns2019-03-071-0/+15
| | | | Updates #3687
* libdl/unresolved: Fix return value for rtems_rtl_unresolved_removeChris Johns2019-02-201-2/+2
| | | | | | Coverity 1399717 Updates #3686
* libdl/archive: Check for an overflow of the symbol table.Chris Johns2019-02-201-3/+12
| | | | | | Coverty 1442636 Updates #3686
* libdl/archive: Fix the config file string index while removing tailing white ↵Chris Johns2019-02-201-2/+2
| | | | | | | | space. Coverity issue 1442540 Updates #3686
* libdl/archive: Return false on read failure.Chris Johns2019-02-201-0/+1
| | | | | | Coverity issue 1442641 Updates #3686