Paul Brook
39b41c9ca8
2005-12-12 Paul Brook <paul@codesourcery.com>
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.
2005-12-12 17:03:40 +00:00
..
2005-05-27 17:27:03 +00:00
2005-08-17 10:04:33 +00:00
2005-12-12 17:03:40 +00:00
2005-05-12 07:32:09 +00:00
2005-11-15 08:32:02 +00:00
2005-05-12 07:32:09 +00:00
2005-10-25 17:40:19 +00:00
2005-11-11 00:29:14 +00:00
2005-05-12 07:32:09 +00:00
2005-05-12 07:32:09 +00:00
2005-08-18 07:51:08 +00:00
2005-05-12 07:32:09 +00:00
2005-11-15 08:32:02 +00:00
2005-05-12 07:32:09 +00:00
2005-10-13 17:29:57 +00:00
2005-05-12 07:32:09 +00:00
2005-07-27 00:08:40 +00:00
2005-05-12 07:32:09 +00:00
2005-08-15 15:39:48 +00:00
2005-05-12 07:32:09 +00:00
2005-08-17 10:04:33 +00:00
2005-10-24 01:40:58 +00:00
2005-05-12 07:32:09 +00:00
2005-05-12 07:32:09 +00:00
2005-05-12 07:32:09 +00:00
2005-08-18 16:46:22 +00:00
2005-11-17 02:01:14 +00:00
2005-05-12 07:32:09 +00:00
2005-11-18 04:41:30 +00:00
2005-08-17 10:04:33 +00:00
2005-10-25 17:40:19 +00:00
2005-08-18 07:51:08 +00:00
2005-08-15 15:39:48 +00:00
2005-05-12 07:32:09 +00:00
2005-08-17 10:04:33 +00:00
2005-08-18 03:51:51 +00:00
2005-08-18 07:51:08 +00:00
2004-12-16 16:56:04 +00:00
2005-05-12 07:32:09 +00:00
2005-09-28 15:34:53 +00:00
2005-05-12 07:32:09 +00:00
2005-05-12 07:32:09 +00:00
2005-08-17 13:36:00 +00:00
2005-12-12 17:03:40 +00:00
2004-01-02 11:16:21 +00:00