06bc164...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
ld/testsuite: adjust tests dump to handle _btext on aarch64-qnx
_btext symbol is a custom symbol made by the aarch64-qnx linker script to
mark the beginning of the .text section.
However, this symbol might replace the first symbol of .text that should
be printed by objdump. This is due to the fact that objdump is
internally ordering symbols lexically if it cannot order them by another
way.
6d9fb23...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
ld/testsuite: disable ilp32 tests for aarch64-qnx
aarch64nto32 emulation isn't supported. The tests will then fall back
on aarch64elf32. It does work but some extra warnings are being
generated because the "-z relro" being added aarch64nto but ignored by
aarch64elf32 emulation.
Skip the tests to avoid any problems.
50830a3...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
ld/testsuite: add aarch64nto to ld-aarch64
ld/ChangeLog:
* testsuite/ld-aarch64/aarch64-elf.exp: Add support for
aarch64nto.
a6c4606...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
ld: add support of QNX stack arguments for aarch64nto
QNX is handling the stack argument using a .note section. Generate it
according to ELF argument -zexecstack, -zstack-size and a new NTO
argument --lazy-stack. Another NTO argument --stack mimicking
-zstack-size is added in order to ensure compatibility with previously
made NTO linkers.
This requires a new emultempl nto.em which is applied above the default
${ARCH}elf.em.
ld/ChangeLog:
* emulparams/aarch64nto.sh: Move to nto.em.
* emultempl/nto.em: New file.
* testsuite/ld-aarch64/aarch64-nto.exp: New test.
* testsuite/ld-aarch64/nto-stack-note-1.d: New test.
* testsuite/ld-aarch64/nto-stack-note-2.d: New test.
* testsuite/ld-aarch64/start.s: New test.
8a1f599...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
readelf: add support for QNT_STACK note subsections
QNX provides some .note subsections. QNT_STACK is the one controling
the stack allocation.
* readelf.c (get_qnx_elfcore_note_type): New function.
(print_qnx_note): New function.
(process_note): Add support for QNX support.
include/ChangeLog:
* elf/common.h (QNT_DEBUG_FULLPATH): New define.
(QNT_DEBUG_RELOC): New define.
(QNT_STACK): New define.
(QNT_GENERATOR): New define.
(QNT_DEFAULT_LIB): New define.
(QNT_CORE_SYSINFO): New define.
(QNT_CORE_INFO): New define.
(QNT_CORE_STATUS): New define.
(QNT_CORE_GREG): New define.
(QNT_CORE_FPREG): New define.
(QNT_LINK_MAP): New define.
56b232c...
by
=?utf-8?q?Cl=C3=A9ment_Chigot?= <email address hidden>
configure: add new target aarch64-*-nto*
This target has its own ld emulation based on aarch64elf.em.
Seen when building binutils with gcc -m32 on x86_64-linux.
chew.c: In function ‘print’:
chew.c:1434:59: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘intptr_t’ {aka ‘int’} [-Wformat=]
1434 | fprintf (stderr, "print: illegal print destination `%ld'\n", *isp);
| ~~^ ~~~~
| | |
| | intptr_t {aka int}
| long int
| %d
* chew.c: Include inttypes.h.
(print): Use PRIdPTR for *isp.
38395c7...
by
Mark Harmstone <email address hidden>
ld: Sort section contributions in PDB files
Microsoft's DIA library, and thus also MSVC and WinDbg, expects section
contributions to be ordered by section number and offset, otherwise it's
unable to resolve line numbers.