[RTEMS Project] #4944: libdl test dl09 fails on arm and aarch64
RTEMS trac
trac at rtems.org
Thu Aug 24 06:16:09 UTC 2023
#4944: libdl test dl09 fails on arm and aarch64
-------------------------+---------------------
Reporter: Chris Johns | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone: 6.1
Component: lib/dl | Version: 6
Severity: normal | Resolution:
Keywords: | Blocked By:
Blocking: |
-------------------------+---------------------
Comment (by Chris Johns):
I have added allocator `resize` support to `libdl`. The object file memory
is resized if there are any trampolines found when the relocation records
are parsed. The sizing determines the amount of trampoline memory needed
and the `tramp_size` is added to the `text_size` resizing the `text`
section.
The order of allocations has been changed so `text` is last and so lower
the probability resizing moves the `text_base` address. In the output from
`dl09` you can see 120 bytes of trampoline memory is being added onto the
`text` section:
{{{
rtl: alloc: resize: READ_WRITE prev-addr=0x4e132610 addr=0x4e132610 size=8
rtl: alloc: resize: READ_WRITE prev-addr=0x4e132670 addr=0x4e132670
size=32
rtl: alloc: resize: READ prev-addr=0x4e1326e0 addr=0x4e1326e0 size=328
rtl: alloc: resize: READ_EXEC prev-addr=0x4e132870 addr=0x4e132870
size=472
rtl: resize sect: text - b:0x4e132870 s:472 a:4
rtl: resize sect: tramp - b:0x4e1329d0 s:120 a:8
rtl: resize sect: const - b:0x4e1326e0 s:328 a:8
rtl: resize sect: eh - b:0 s:0 a:0
rtl: resize sect: data - b:0x4e132610 s:8 a:0
rtl: resize sect: bss - b:0x4e132670 s:32 a:8
}}}
The changes will handle a section moving when resizing.
The `dl09` test now passes for `aarch64` with and without trace being
turned on.
--
Ticket URL: <http://devel.rtems.org/ticket/4944#comment:4>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list