diff options
| author | Maciej W. Rozycki <macro@orcam.me.uk> | 2026-02-18 07:58:31 +0000 |
|---|---|---|
| committer | Maciej W. Rozycki <macro@orcam.me.uk> | 2026-02-18 07:58:31 +0000 |
| commit | a5b91b33252959d679a777dd6a455f11b91f90a1 (patch) | |
| tree | 3c1a7a5d2fac64d75cb1497d2462d0062a71d361 /sim/bfin/machs.h | |
| parent | 31d589588ea43f234e9d06af1d8f0e08981e4c12 (diff) | |
| download | binutils-master.zip binutils-master.tar.gz binutils-master.tar.bz2 | |
With MIPS targets using the IRIX 5 linker emulation the DYNAMIC segment,
unusually, gets all of: `.dynamic', `.hash', `.dynsym', and `.dynstr'
sections mapped to, as well as any other sections placed in between.
No attention is paid as to which of these sections comes first though,
which would make such a DYNAMIC segment unusable at load time unless it
starts with the `.dynamic' section, if not for LD terminating the link
with:
The first section in the PT_DYNAMIC segment is not the .dynamic section
error message.
Our standard linker scripts ensure the correct section ordering, however
a user-supplied script may not, and it seems suboptimal to prevent users
from reordering sections to their liking.
Modify MIPS IRIX 5 linker emulation handling then so that only `.hash',
`.dynsym', and `.dynstr' sections that come after `.dynamic' in output,
and any other sections placed in between, get mapped to the DYNAMIC
segment.
This preserves exact IRIX 5 semantics for all the conforming scripts,
while letting people use a different order rather than getting a link
error. The error result previously issued means there is no backwards
compatibility to consider as no output used to be produced.
This removes a number of test failures:
-FAIL: PROVIDE_HIDDEN test (auxiliary shared object)
-FAIL: PROVIDE_HIDDEN test 4
-FAIL: PROVIDE_HIDDEN test 6
-FAIL: PROVIDE_HIDDEN test 10
-FAIL: PROVIDE_HIDDEN test 12
-FAIL: readelf version information
-FAIL: PR ld/20828 forcibly exported symbol version without section GC
-FAIL: PR ld/21233 dynamic symbols with section GC (auxiliary shared library)
across MIPS targets using the IRIX 5 linker emulation, such as
`mips-sgi-irix5', `mips-elf', `mips-rtems', etc.
Diffstat (limited to 'sim/bfin/machs.h')
0 files changed, 0 insertions, 0 deletions
