[PATCH] ld: aarch64: Update test linker scripts relocs.ld and relocs-ilp32.ld
Matthew Malcomson
matthew.malcomson@arm.com
Fri Jul 8 12:43:39 GMT 2022
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) }
}
-------------- next part --------------
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) }
}
More information about the Binutils
mailing list