OSDN Git Service

2009-02-23 Christophe Lyon <christophe.lyon@st.com>
authordrow <drow>
Mon, 23 Feb 2009 21:48:52 +0000 (21:48 +0000)
committerdrow <drow>
Mon, 23 Feb 2009 21:48:52 +0000 (21:48 +0000)
commite1177e6747aa51fd9be7a38e04ffd999486125f9
tree52ed1c245c8e56e703be5432baabceabe2f9525d
parent8c30a278d36e0429e5ff8f0d448985771151c60e
2009-02-23  Christophe Lyon  <christophe.lyon@st.com>

bfd/
* elf32-arm.c (stub_insn_type): New type.
(stub_reloc_type): Likewise.
(insn_sequence): Likewise.
(elf32_arm_stub_long_branch_any_any): Encode using insn_sequence.
(elf32_arm_stub_long_branch_v4t_arm_thumb): Likewise.
(elf32_arm_stub_long_branch_thumb_only): Likewise.
(elf32_arm_stub_long_branch_v4t_thumb_arm): Likewise.
(elf32_arm_stub_short_branch_v4t_thumb_arm): Likewise.
(elf32_arm_stub_long_branch_any_any_pic): Likewise.
(elf32_arm_stub_hash_entry): Add new helper fields.
(stub_hash_newfunc): Initialize these new fields.
(arm_build_one_stub): Encode Arm and Thumb instructions separately
to take endianness into account.
(arm_size_one_stub): Compute size of stubs using insn_sequence.
(arm_map_one_stub): Code is now more generic, thanks to
insn_sequence.

ld/testsuite/
* ld-arm/arm-elf.exp: Add new farcall-thumb-arm-be8 test.
* ld-arm/farcall-thumb-arm-be8.d: New expected result.
* ld-arm/farcall-arm-arm-be8.d: Replace wildcards by instructions.
bfd/ChangeLog
bfd/elf32-arm.c
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/farcall-arm-arm-be8.d
ld/testsuite/ld-arm/farcall-thumb-arm-be8.d [new file with mode: 0644]