aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Peter Nilsson <hp@axis.com>2022-05-26 19:48:25 +0200
committerHans-Peter Nilsson <hp@bitrange.com>2022-05-27 01:02:46 +0200
commit81cd0a49c9e5f28c0fec391e449ea3272077c432 (patch)
treeda3d83b1de7b78cdac0447cb78abbfa0bcb0cf07
parentb2fdd31b03ef01a9a790ecb5d0dc0fea209b49ec (diff)
downloadgdb-81cd0a49c9e5f28c0fec391e449ea3272077c432.zip
gdb-81cd0a49c9e5f28c0fec391e449ea3272077c432.tar.gz
gdb-81cd0a49c9e5f28c0fec391e449ea3272077c432.tar.bz2
cris: bfd: Correct default to no execstack
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
-rw-r--r--bfd/elf32-cris.c2
-rw-r--r--ld/testsuite/ld-elf/elf.exp1
2 files changed, 3 insertions, 0 deletions
diff --git a/bfd/elf32-cris.c b/bfd/elf32-cris.c
index 00b5f77..653d77f 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 621d4e1..abc35f8 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*-*-*"]