[PATCH] pru: bfd: Correct default to no execstack
Dimitar Dimitrov
dimitar@dinux.eu
Sat Nov 12 09:12:17 GMT 2022
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.
Ok for trunk?
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 | 2 ++
ld/testsuite/ld-elf/elf.exp | 1 +
2 files changed, 3 insertions(+)
diff --git a/bfd/elf32-pru.c b/bfd/elf32-pru.c
index 7a75fbd5036..a6ce478f4e2 100644
--- a/bfd/elf32-pru.c
+++ b/bfd/elf32-pru.c
@@ -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"
diff --git a/ld/testsuite/ld-elf/elf.exp b/ld/testsuite/ld-elf/elf.exp
index e4d8bee2f53..f9c74bf6bed 100644
--- a/ld/testsuite/ld-elf/elf.exp
+++ b/ld/testsuite/ld-elf/elf.exp
@@ -187,6 +187,7 @@ proc target_defaults_to_execstack {} {
|| [istarget "loongarch*-*-*"]
|| [istarget "nios2*-*-*"]
|| [istarget "powerpc64*-*-*"]
+ || [istarget "pru*-*-*"]
|| [istarget "riscv*-*-*"]
|| [istarget "tilegx*-*-*"]
|| [istarget "tilepro*-*-*"] } {
--
2.38.1
More information about the Binutils
mailing list