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. OK for master? ############### Attachment also inlined for ease of reply ############### diff --git a/ld/testsuite/ld-aarch64/relocs-ilp32.ld b/ld/testsuite/ld-aarch64/relocs-ilp32.ld index 7174aff236f189a1ae5caa94ecaf27c7ddb171b5..4ddba9141209a48c1342c4ffaf65b327d91873a8 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 f42176e64d30daa9949c0679ff3b0a931de46dfd..77adac8b46e01b488e68405b1291335a2dfa29fc 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) } }