39b41c9ca8
bfd/ * bfd-in2.h: Regenerate. * elf32-arm.c (elf32_arm_reloc_map): Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. (check_use_blx): New function. (bfd_elf32_arm_process_before_allocation): Don't allocate glue if using BLX. (elf32_arm_final_link_relocate): Perform bl<->blx conversion for R_ARM_CALL and R_ARM_THM. (elf32_arm_get_eabi_attr_int): New function. (elf32_arm_size_dynamic_sections): Call check_use_blx. * libbfd.h: Regenerate. * reloc.c: Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. gas/ * config/tc-arm.c (do_branch): Generate EABI branch relocations. (do_bl): New function. (do_blx): Generate BFD_RELOC_ARM_PCREL_CALL relocation. (do_t_blx): Generate BFD_RELOC_THUMB_PCREL_BRANCH23. (insns): Use do_bl. (md_pcrel_from_section): Add BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. (md_apply_fix): Merge BFD_RELOC_ARM_PCREL_BRANCH and BFD_RELOC_ARM_PCREL_BLX cases. Handle BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. (tc_gen_reloc): Handle BFD_RELOC_ARM_PCREL_CALL and BFD_RELOC_ARM_PCREL_JUMP. gas/testsuite/ * gas/arm/pic.d: Allow R_ARM_CALL relocations. include/elf/ * arm.h (elf32_arm_get_eabi_attr_int): Add prototype. ld/testsuite/ * ld-arm/arm-call.d: New test. * ld-arm/arm-call1.s: New file. * ld-arm/arm-call1.s: New file. * ld-arm/arm-elf.exp: Add arm-call and mixed-app-v5. * ld-arm/arm.ld: Add .glue_7 and .ARM.attribues. * ld-arm/mixed-app-v5.d: New file. * ld-arm/mixed-app.r: Tweak expected output. |
||
---|---|---|
.. | ||
arm-app-abs32.d | ||
arm-app-abs32.r | ||
arm-app-abs32.s | ||
arm-app.d | ||
arm-app.r | ||
arm-app.s | ||
arm-call.d | ||
arm-call1.s | ||
arm-call2.s | ||
arm-dyn.ld | ||
arm-elf.exp | ||
arm-lib-plt32.d | ||
arm-lib-plt32.r | ||
arm-lib-plt32.s | ||
arm-lib.d | ||
arm-lib.ld | ||
arm-lib.r | ||
arm-lib.s | ||
arm-rel31.d | ||
arm-rel31.s | ||
arm-static-app.d | ||
arm-static-app.r | ||
arm-static-app.s | ||
arm-target1-abs.d | ||
arm-target1-rel.d | ||
arm-target1.s | ||
arm-target2-abs.d | ||
arm-target2-got-rel.d | ||
arm-target2-rel.d | ||
arm-target2.s | ||
arm.ld | ||
mixed-app-v5.d | ||
mixed-app.d | ||
mixed-app.r | ||
mixed-app.s | ||
mixed-app.sym | ||
mixed-lib.d | ||
mixed-lib.r | ||
mixed-lib.s | ||
mixed-lib.sym | ||
tls-app.d | ||
tls-app.r | ||
tls-app.s | ||
tls-lib.d | ||
tls-lib.r | ||
tls-lib.s |