diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 18 |
2 files changed, 14 insertions, 9 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2f39d1c..c1d01b7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-11-14 Roland McGrath <mcgrathr@google.com> + + * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc + instruction for data sandboxing. + 2012-11-14 Tristan Gingold <gingold@adacore.com> * mach-o.c (bfd_mach_o_read_main) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index fefc7db..081265c 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -2209,21 +2209,21 @@ static const bfd_vma elf32_arm_nacl_plt0_entry [] = 0xe08cc00f, /* add ip, ip, pc */ 0xe52dc008, /* str ip, [sp, #-8]! */ /* Second bundle: */ - 0xe7dfcf1f, /* bfc ip, #30, #2 */ - 0xe59cc000, /* ldr ip, [ip] */ + 0xe3ccc103, /* bic ip, ip, #0xc0000000 */ + 0xe59cc000, /* ldr ip, [ip] */ 0xe3ccc13f, /* bic ip, ip, #0xc000000f */ - 0xe12fff1c, /* bx ip */ + 0xe12fff1c, /* bx ip */ /* Third bundle: */ - 0xe320f000, /* nop */ - 0xe320f000, /* nop */ - 0xe320f000, /* nop */ + 0xe320f000, /* nop */ + 0xe320f000, /* nop */ + 0xe320f000, /* nop */ /* .Lplt_tail: */ 0xe50dc004, /* str ip, [sp, #-4] */ /* Fourth bundle: */ - 0xe7dfcf1f, /* bfc ip, #30, #2 */ - 0xe59cc000, /* ldr ip, [ip] */ + 0xe3ccc103, /* bic ip, ip, #0xc0000000 */ + 0xe59cc000, /* ldr ip, [ip] */ 0xe3ccc13f, /* bic ip, ip, #0xc000000f */ - 0xe12fff1c, /* bx ip */ + 0xe12fff1c, /* bx ip */ }; #define ARM_NACL_PLT_TAIL_OFFSET (11 * 4) |