cris: bfd: Correct default to no execstack
authorHans-Peter Nilsson <hp@axis.com>
Thu, 26 May 2022 17:48:25 +0000 (19:48 +0200)
committerHans-Peter Nilsson <hp@bitrange.com>
Thu, 26 May 2022 23:02:46 +0000 (01:02 +0200)
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
ld/testsuite/ld-elf/elf.exp

index 00b5f7745e8944c119abb1efa5f5c2c782db6986..653d77f1ea84fec2e0ad626967510ee75d4a98c9 100644 (file)
@@ -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.  */
index 621d4e121d7442c6921e33c00fd9e07c8a45851b..abc35f80778260fb451dd0ef9cecfe98289d8bba 100644 (file)
@@ -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*-*-*"]