pru: bfd: Correct default to no execstack
authorDimitar Dimitrov <dimitar@dinux.eu>
Fri, 27 May 2022 20:09:24 +0000 (23:09 +0300)
committerDimitar Dimitrov <dimitar@dinux.eu>
Mon, 14 Nov 2022 15:42:22 +0000 (17:42 +0200)
Data and instruction memories are strictly separated, so it is not
possible to execute instructions from the stack memory on PRU.

I don't see any difference in testsuite results with or without this
change.

bfd/ChangeLog:

* elf32-pru.c (elf_backend_default_execstack): Define as 0.

ld/ChangeLog:

* testsuite/ld-elf/elf.exp (target_defaults_to_execstack):
Return 0 for pru.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
bfd/elf32-pru.c
ld/testsuite/ld-elf/elf.exp

index 7a75fbd5036348b63db0f7a7540b7c2c45627aba..a6ce478f4e207ff2629a10c38cc3980af52525d9 100644 (file)
@@ -1603,6 +1603,8 @@ pru_elf32_link_hash_table_create (bfd *abfd)
 #define bfd_elf32_bfd_relax_section    pru_elf32_relax_section
 #define elf_backend_can_gc_sections    1
 
+#define elf_backend_default_execstack  0
+
 #define TARGET_LITTLE_SYM              pru_elf32_vec
 #define TARGET_LITTLE_NAME             "elf32-pru"
 
index e4d8bee2f53e0e5b4b86e25ecf7f1ff06040eef3..f9c74bf6bed6669a6d25c7b79dcc5ed220be2011 100644 (file)
@@ -187,6 +187,7 @@ proc target_defaults_to_execstack {} {
        || [istarget "loongarch*-*-*"]
        || [istarget "nios2*-*-*"]
        || [istarget "powerpc64*-*-*"]
+       || [istarget "pru*-*-*"]
        || [istarget "riscv*-*-*"]
        || [istarget "tilegx*-*-*"]
        || [istarget "tilepro*-*-*"] } {