From b90e0b2f1b516ea32789ae3877830b518cb8ed60 Mon Sep 17 00:00:00 2001 From: Matthew Malcomson Date: Tue, 2 Aug 2022 12:07:00 +0100 Subject: [PATCH] ld: aarch64: Update test linker scripts relocs.ld and relocs-ilp32.ld The updates are to ensure that the .data section exists. This means that we always have a data section. That means that we don't create a RWX segment and avoid the corresponding warning. We get this warning when testing aarch64-none-elf with -mcmodel=tiny. N.b. this changes quite a few testcases from fail to pass. --- ld/testsuite/ld-aarch64/relocs-ilp32.ld | 4 ++++ ld/testsuite/ld-aarch64/relocs.ld | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/ld/testsuite/ld-aarch64/relocs-ilp32.ld b/ld/testsuite/ld-aarch64/relocs-ilp32.ld index 7174aff236f..4ddba914120 100644 --- a/ld/testsuite/ld-aarch64/relocs-ilp32.ld +++ b/ld/testsuite/ld-aarch64/relocs-ilp32.ld @@ -16,4 +16,8 @@ SECTIONS . = 0x12340000; .far : { *(.far) } .ARM.attributes 0 : { *(.ARM.atttributes) } + /* Providing a .data section triggers a non-executable segment to be + generated, which gives somewhere else for the linker to put the TLS + segment without creating a RWX permissioned one. */ + .data : { *(.data) } } diff --git a/ld/testsuite/ld-aarch64/relocs.ld b/ld/testsuite/ld-aarch64/relocs.ld index f42176e64d3..77adac8b46e 100644 --- a/ld/testsuite/ld-aarch64/relocs.ld +++ b/ld/testsuite/ld-aarch64/relocs.ld @@ -16,4 +16,8 @@ SECTIONS . = 0x12340000; .far : { *(.far) } .ARM.attributes 0 : { *(.ARM.atttributes) } + /* Providing a .data section triggers a non-executable segment to be + generated, which gives somewhere else for the linker to put the TLS + segment without creating a RWX permissioned one. */ + .data : { *(.data) } } -- 2.30.2