| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
- Add resize to the allocator interface
- Rework the trampoline variables in the obj struct
to make better sense of what is happening
Closes #4944
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
Resolve warnings about mismatched pointer and integer sizes in AArch64
libdl when building with the ILP32 ABI.
|
|
|
|
| |
Updates #4662
|
|
|
|
| |
Updates #3053.
|
|
|
|
| |
Updates #3053.
|
|
|
|
| |
Updates #3969
|
|
|
|
|
|
|
|
| |
Use the following variant which was already used by most source files:
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
|
|
|
|
| |
Closes #3777
|
|
|
|
|
|
| |
This was introduced in 74883be5d4b5fa166179d6003032f6eac2e0f544.
Updates #3746
|
|
|
|
|
|
|
| |
- Make the symbol parsing and loading stage match.
- Check for possible overflow of the tables when loading.
Closes #3746
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
| |
- Fix the handling of pending objects.
- Add a constructor flags in objects to track then being called.
Closes #2921
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
Prepare for header file move to common include directory.
Update #3254.
|
|
|
|
| |
Update #3155.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This has been tested on SPARC, i386, PowerPC and ARM.
Closes #2767.
|
| |
|
|
|
|
|
|
|
|
| |
Memory content changes caused by relocation has to be
propagated to memory/cache level which is used/snooped
during instruction cache fill.
Closes #2438
|
| |
|
|
|
|
| |
See refs #2192.
|
|
|
|
|
| |
On a 16-bit target the section value could result in a sign-extension
overflow.
|
|
|
|
|
|
| |
Adding a local symbol lets the relocator find local symbols referenced
in relocation records. The local symbol table is erased once the object
module has been loaded.
|
|
This is a merge of the RTL project.
|