ld: add support of QNX stack arguments for aarch64nto
authorClément Chigot <chigot@adacore.com>
Mon, 28 Nov 2022 08:29:37 +0000 (09:29 +0100)
committerClément Chigot <chigot@adacore.com>
Thu, 16 Mar 2023 14:01:05 +0000 (15:01 +0100)
commitb119512977bbdbdce84493dfa6321f6d1f82dbf0
tree1dd2c5eda3a219325869bcf30c98a64ba71094b9
parente263a66b01a697632a51ad5ec1e6c08071e3e5ec
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.
ld/emulparams/aarch64nto.sh
ld/emultempl/nto.em [new file with mode: 0644]
ld/testsuite/ld-aarch64/aarch64-nto.exp [new file with mode: 0644]
ld/testsuite/ld-aarch64/nto-stack-note-1.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/nto-stack-note-2.d [new file with mode: 0644]
ld/testsuite/ld-aarch64/start.s [new file with mode: 0644]