[COMMITTED] cris: bfd: Correct default to no execstack
Hans-Peter Nilsson
hp@axis.com
Thu May 26 23:20:49 GMT 2022
In the now-historical CRIS glibc port, the default stack permission
was no-exec as in "#define DEFAULT_STACK_PERMS (PF_R|PF_W)", and the
gcc port only emits the executable-stack marker when needed; when
emitting code needing it. In other words, the binutils setting
mismatches. It doesn't matter much, except being confusing and
defaulting to "off" is more sane.
ld:
* testsuite/ld-elf/elf.exp (target_defaults_to_execstack): Switch to 0
for cris*-*-*.
bfd:
* elf32-cris.c (elf_backend_default_execstack): Define to 0.
Change-Id: I52f37598f119b19111c7a6546c00a627fca0f396
---
bfd/elf32-cris.c | 2 ++
ld/testsuite/ld-elf/elf.exp | 1 +
2 files changed, 3 insertions(+)
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 00b5f7745e89..653d77f1ea84 100644
--- a/bfd/elf32-cris.c
+++ b/bfd/elf32-cris.c
@@ -4112,6 +4112,8 @@ elf_cris_got_elt_size (bfd *abfd ATTRIBUTE_UNUSED,
#define elf_backend_dtrel_excludes_plt 1
#define elf_backend_want_dynrelro 1
+#define elf_backend_default_execstack 0
+
/* Later, we my want to optimize RELA entries into REL entries for dynamic
linking and libraries (if it's a win of any significance). Until then,
take the easy route. */
diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index 621d4e121d74..abc35f807782 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -183,6 +183,7 @@ if { [check_gc_sections_available] && ![istarget "v850-*-*"] } {
proc target_defaults_to_execstack {} {
if { [istarget "aarch64*-*-*"]
|| [istarget "arc*-*-*"]
+ || [istarget "cris*-*-*"]
|| [istarget "ia64*-*-*"]
|| [istarget "nios2*-*-*"]
|| [istarget "powerpc64*-*-*"]
--
2.30.2
brgds, H-P
More information about the Binutils
mailing list