From edccdf7c8bac7e4d0d6750076dedc4884c1f127c Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 15 Nov 2012 00:30:11 +0000 Subject: [PATCH] bfd/ * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc instruction for data sandboxing. gold/ * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather than bfc instruction for data sandboxing. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.c | 18 +++++++++--------- gold/ChangeLog | 5 +++++ gold/arm.cc | 4 ++-- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 2f39d1ca70..c1d01b7025 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2012-11-14 Roland McGrath + + * elf32-arm.c (elf32_arm_nacl_plt0_entry): Use bic rather than bfc + instruction for data sandboxing. + 2012-11-14 Tristan Gingold * mach-o.c (bfd_mach_o_read_main) diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index fefc7db0c1..081265c529 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) diff --git a/gold/ChangeLog b/gold/ChangeLog index 76cb658a10..d5cdd32f63 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,8 @@ +2012-11-14 Roland McGrath + + * arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather + than bfc instruction for data sandboxing. + 2012-11-08 Alan Modra * po/POTFILES.in: Regenerate. diff --git a/gold/arm.cc b/gold/arm.cc index 19943295aa..a98004b828 100644 --- a/gold/arm.cc +++ b/gold/arm.cc @@ -12218,7 +12218,7 @@ const uint32_t Output_data_plt_arm_nacl::first_plt_entry[16] = 0xe08cc00f, // add ip, ip, pc 0xe52dc008, // str ip, [sp, #-8]! // Second bundle: - 0xe7dfcf1f, // bfc ip, #30, #2 + 0xe3ccc103, // bic ip, ip, #0xc0000000 0xe59cc000, // ldr ip, [ip] 0xe3ccc13f, // bic ip, ip, #0xc000000f 0xe12fff1c, // bx ip @@ -12229,7 +12229,7 @@ const uint32_t Output_data_plt_arm_nacl::first_plt_entry[16] = // .Lplt_tail: 0xe50dc004, // str ip, [sp, #-4] // Fourth bundle: - 0xe7dfcf1f, // bfc ip, #30, #2 + 0xe3ccc103, // bic ip, ip, #0xc0000000 0xe59cc000, // ldr ip, [ip] 0xe3ccc13f, // bic ip, ip, #0xc000000f 0xe12fff1c, // bx ip -- 2.34.1