This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] arm-nacl PLT change: bfc -> bic
- From: Roland McGrath <mcgrathr at google dot com>
- To: binutils at sourceware dot org
- Date: Wed, 14 Nov 2012 16:19:51 -0800
- Subject: [PATCH] arm-nacl PLT change: bfc -> bic
The arm-nacl ABI is changing its preferred instructions to appear in PLT code.
Ok for trunk?
Ok for 2.23 branch?
As this is touching only code that I myself added and that affects only the
arm-nacl target, maybe it's appropriate for me to just commit such changes
directly without seeking approval?
Thanks,
Roland
bfd/
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.
gold/
2012-11-14 Roland McGrath <mcgrathr@google.com>
* arm.cc (Output_data_plt_arm_nacl::first_plt_entry): Use bic rather
than bfc instruction for data sandboxing.
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -2209,7 +2209,7 @@ 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 */
+ 0xe3ccc103, /* bic ip, ip, #0xc0000000 */
0xe59cc000, /* ldr ip, [ip] */
0xe3ccc13f, /* bic ip, ip, #0xc000000f */
0xe12fff1c, /* bx ip */
@@ -2220,7 +2220,7 @@ static const bfd_vma elf32_arm_nacl_plt0_entry [] =
/* .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 */
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -12218,7 +12218,7 @@ const uint32_t
Output_data_plt_arm_nacl<big_endian>::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<big_endian>::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