This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]