summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFaraz Shahbazker <faraz.shahbazker@imgtec.com>2016-02-23 12:58:03 +0000
committerNick Clifton <nickc@redhat.com>2016-02-23 12:58:03 +0000
commit17733f5be961baa7a47fdf1471aa6948372293d6 (patch)
tree961d729fa304e70c83c1a86b3487b57e0a8b9f5c
parent47993b4af18c6ef1cad300f6393bf896d3cb5e5c (diff)
downloadbinutils-gdb-17733f5be961baa7a47fdf1471aa6948372293d6.tar.gz
Increment the ABIVERSION to 5 for MIPS objects with non-executable stacks.
* bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment ABIVERSION for non-executable stack.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfxx-mips.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 5ec3b934c83..d7bc5fab9ce 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2016-02-23 Faraz Shahbazker <faraz.shahbazker@imgtec.com>
+
+ * bfd/elfxx-mips.c (_bfd_mips_post_process_headers): Increment
+ ABIVERSION for non-executable stack.
+
2016-02-23 Rich Felker <bugdal@aerifal.cx>
PR target/19516
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index fa14e8dd343..e4996fa9093 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -16140,6 +16140,9 @@ _bfd_mips_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
if (mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64
|| mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64A)
i_ehdrp->e_ident[EI_ABIVERSION] = 3;
+
+ if (elf_stack_flags (abfd) && !(elf_stack_flags (abfd) & PF_X))
+ i_ehdrp->e_ident[EI_ABIVERSION] = 5;
}
int