summaryrefslogtreecommitdiffstats
path: root/cpukit/libdl (follow)
Commit message (Collapse)AuthorAgeFilesLines
* 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
* libdl/alloc: Add a locking interface to the allocator.Chris Johns2019-02-203-5/+63
| | | | | | | | | | | | | - 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
* libdl/rap: Add the section alloc call after section load was splitChris Johns2019-02-151-0/+6
| | | | Updates #3687
* libdl: Allocator does not unlock and lock memory on loading.Chris Johns2019-02-154-15/+90
| | | | Close #3692
* libdl: Add powerpc large memory and small data support.Chris Johns2019-02-0920-109/+1048
| | | | | | | | | | | | | | | | | - 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
* libdl: Add support for large memory programsChris Johns2019-02-098-413/+609
| | | | | | | | | | | | | | | - 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
* libdl: Add support for trampolinesChris Johns2019-02-0914-125/+888
| | | | | | | | | | | | | - 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
* libdl: Fix the support for constructors and desctructors.Chris Johns2019-02-094-39/+91
| | | | | | | - Fix the handling of pending objects. - Add a constructor flags in objects to track then being called. Closes #2921
* libdl: Add symbol searching and loading from archives.Chris Johns2019-02-0910-445/+1846
| | | | | | | | | | | | | | - 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
* libdl: Fix dlerror non-conformanceChris Johns2019-02-091-1/+4
| | | | Closes #3298
* Fix format warningsSebastian Huber2019-01-072-3/+4
|
* 5 spelling errors for a Google Code-In task.Jacob Shin2018-12-021-2/+2
| | | | Username: deuteriumoxide Email: jacobshin313@gmail.com
* libdl: Add object file dependencies to track referencesChris Johns2018-11-226-124/+491
| | | | | | | | | | 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
* libdl: Reindex unresolved names after removing used records.Chris Johns2018-11-221-20/+120
| | | | Updates #3194
* libdl: Manage the allocation of common uninitialised variables.Chris Johns2018-11-222-26/+187
| | | | | | | | | | | | | 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
* build: Merge libdl/Makefile.amSebastian Huber2018-10-091-35/+0
|
* libdl: Avoid command line definesSebastian Huber2018-10-042-1/+3
| | | | Update #3375.
* libdl: Remove _t from all structures as this is reserved for the standardsChris Johns2018-04-1234-814/+813
|
* libdl: RAP format fixes.Chris Johns2018-04-121-8/+10
| | | | | | | | | | - 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
* libdl: Fix potential overwrite of dest bufferSebastian Huber2018-02-072-2/+2
| | | | Update #2843.
* libdl: Use self-contained mutex for RAPSebastian Huber2018-02-071-76/+16
| | | | Update #2843.
* libdl: Use self-contained recursive mutexSebastian Huber2018-02-071-58/+12
| | | | Update #2843.
* Remove make preinstallChris Johns2018-01-2533-4686/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* libdl: Include <rtems/rtl/rtl-*.h>Sebastian Huber2017-12-1328-41/+41
| | | | | | Prepare for header file move to common include directory. Update #3254.
* libdl: Fix warningsSebastian Huber2017-10-065-39/+47
| | | | Update #3155.
* libdl: Use 64-bit ELF on 64-bit targetsSebastian Huber2017-10-061-1/+5
| | | | Update #3155.
* Include missing <string.h>Sebastian Huber2017-08-257-0/+7
| | | | Update #2133.
* libdl/rtl-obj-cache.c: Fix printf() format warningJoel Sherrill2017-04-251-2/+3
|
* libdl/rtl-obj-cache.c: Use PRIdoff_t to avoid printf() format warnings on ↵Joel Sherrill2017-04-241-2/+3
| | | | some architectures
* rtems/inttypes.h: New file. Uses contents from cpukitJoel Sherrill2017-04-181-10/+1
| | | | | | | | Provide extentions to <inttpes.h> PRIxxx constants for more POSIX types. Start with existing definitions found in RTEMS Project owned code in cpukit/. updates #2983.
* libdl/rtl-obj-cache.c: Using inttypes macros fixes 4 format warningsCillian O'Donnell2017-04-071-9/+12
|
* libdl: Support link ordered loading of ELF sections.Chris Johns2017-03-315-36/+166
| | | | | | | | | | | | | The ARM C++ exception ABI uses an address ordered index table to locate the correct frame data and this requires the EXIDX sections are loaded in the order the order the matching text is loaded. The EXIDX sections set the SHF_LINK_ORDER flag and link field. This patch adds support to load those flagged sections in the linked-to section order. Updates #2955. Closes #2959
* libdl: Fix warningSebastian Huber2017-02-151-1/+2
|
* libdl: Add C++ exception support to loaded modules.Chris Johns2016-12-1428-230/+1057
| | | | | | This has been tested on SPARC, i386, PowerPC and ARM. Closes #2767.
* rtl-mdreloc-sparc.c: Do not print unaligned pointer and cause unaligned access.Jiri Gaisler2016-11-141-2/+3
| | | | updates #2802.
* libdl/rtl-obj.c: synchronize cache should not depend on CPU_CACHE_LINE_BYTES.Pavel Pisa2016-10-041-3/+6
| | | | | | | Use of rtems_cache_get_maximal_line_size() is more descriptive choice. The min/max data/instruction cache line size is not critical there, value is used for optimization only to use single operation for directly following sections.
* libdl: Add ARM C++ relocation record support.Chris Johns2016-09-082-2/+18
| | | | Closes #2767
* libdl: Fix cache corruption bugs.Chris Johns2016-08-153-30/+86
| | | | | | | | | This patch fixes a number of bugs in the cache when requests are made to read close to the end of the file and the data is copied from the top of the cache buffer to the bottom of the buffer. This was compounded by attempting to read past the end of the file. Closes #2754.
* libdl: Add trace output when reading section headers.Chris Johns2016-08-151-0/+3
|
* libdl/rtl-obj.c: synchronize cache after code relocation.Pavel Pisa2016-07-214-2/+74
| | | | | | | | Memory content changes caused by relocation has to be propagated to memory/cache level which is used/snooped during instruction cache fill. Closes #2438
* libdl/rtl-obj.c: ensure that loaded code is synchronized through caches.Pavel Pisa2016-07-041-0/+2
| | | | | | | | | | | | Synchronize each cluster of sections of the same type separately to support even cases where text and data are allocated from different areas (for example due allocation from different MPU protection regions). rtems_cache_instruction_sync_after_code_change is called even to data sections. Propagation of data only changes should not require cache maintenance operation on sane SMP mutithread capable systems if barrier instruction is added but be on safe side even for case where self modifying code uses data sections initial values etc.
* Move printer initialization to separate headerSebastian Huber2016-06-221-0/+1
| | | | | | The RTEMS print user need to know nothing about a particular printer implementation. In particular get rid of the <stdio.h> include which would be visible via <rtems.h>.
* Remove M32R architectureJoel Sherrill2016-01-043-196/+1
| | | | updates #2446.
* libdl/rtl-shell.c: Adjust printf() format for off_t based on targetJoel Sherrill2015-03-241-6/+8
|
* libdl/rtl-mdreloc-moxie.c: Fix printf() format warningsJoel Sherrill2015-03-242-5/+5
|