pru: bfd: Correct default to no execstack
Checks
Commit Message
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(+)
Comments
Hi Dimitar,
> 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.
Approved - please apply.
Cheers
Nick
@@ -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"
@@ -187,6 +187,7 @@ proc target_defaults_to_execstack {} {
|| [istarget "loongarch*-*-*"]
|| [istarget "nios2*-*-*"]
|| [istarget "powerpc64*-*-*"]
+ || [istarget "pru*-*-*"]
|| [istarget "riscv*-*-*"]
|| [istarget "tilegx*-*-*"]
|| [istarget "tilepro*-*-*"] } {