[PATCH][ARM] Reject R_ARM_REL32 when trying to defer it to runtime

Jiong Wang jiong.wang@arm.com
Mon Nov 17 17:27:00 GMT 2014


R_ARM_REL32 is not supported by ARM32 dynamic linker.

we need reject it when against external symbol and if it's supposed to
be copied to dynamic relocation section.

when linking some hand written assembly code, I found some code in elf32_arm_final_link_relocate
assume we have rejected them. If we haven't, the following assertion will be triggered.

  /* This symbol is local, or marked to become local.  */
  BFD_ASSERT (r_type == R_ARM_ABS32 || r_type == R_ARM_ABS32_NOI);


ok for trunk?

pass native ld test on chrome book.

The f2/f4 test in ifunc-7 and 8 was written without consideration of this rejection.
we need to remove them.

lots of the diff are caused by ifunc testcase update.

bfd/
   * elf32-arm.c (elf32_arm_final_link_relocate): Reject R_ARM_32/_NOI when trying
   to defer them to runtime.

ld/testsuite/
   * ld-arm/elf32-reject.s: New testcase.
   * ld-arm/elf32-reject.d: Likewise.
   * ld-arm/elf32-reject-pie.s: Likewise.
   * ld-arm/elf32-reject-pie.d: Likewise.
   * ld-arm/arm-elf.exp: Run new testcases.
   * ld-arm/ifunc-7.s: Delete f2/f4 test items.
   * ld-arm/ifunc-7.rd: Likewise.
   * ld-arm/ifunc-7.gd: Likewise.
   * ld-arm/ifunc-7.dd: Likewise.
   * ld-arm/ifunc-8.s: Likewise.
   * ld-arm/ifunc-8.rd: Likewise.
   * ld-arm/ifunc-8.gd: Likewise.
   * ld-arm/ifunc-8.dd: Likewise.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: k-2.patch
Type: text/x-patch
Size: 97455 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20141117/b057e4e7/attachment.bin>


More information about the Binutils mailing list