ld: aarch64: Update test linker scripts relocs.ld and relocs-ilp32.ld
authorMatthew Malcomson <hardenedapple@gmail.com>
Tue, 2 Aug 2022 11:07:00 +0000 (12:07 +0100)
committerMatthew Malcomson <hardenedapple@gmail.com>
Tue, 2 Aug 2022 11:09:40 +0000 (12:09 +0100)
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
ld/testsuite/ld-aarch64/relocs.ld

index 7174aff236f189a1ae5caa94ecaf27c7ddb171b5..4ddba9141209a48c1342c4ffaf65b327d91873a8 100644 (file)
@@ -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) }
 }
index f42176e64d30daa9949c0679ff3b0a931de46dfd..77adac8b46e01b488e68405b1291335a2dfa29fc 100644 (file)
@@ -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) }
 }