[ARM] Purecode compatible long branch veneer for M-profile targets with MOVW.
authorAndre Vieria <andre.simoesdiasvieira@arm.com>
Tue, 5 Jul 2016 10:39:06 +0000 (11:39 +0100)
committerRichard Earnshaw <Richard.Earnshaw@arm.com>
Tue, 5 Jul 2016 10:39:06 +0000 (11:39 +0100)
commitd5a67c02901c0abe946546f2b3b1a3b67a876136
tree795164805b191fd91aeb8bb584ab88e8d337b2b4
parentf0728ee368f217f2473798ad7ccfe9feae4412ce
[ARM] Purecode compatible long branch veneer for M-profile targets with MOVW.

2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>

* elf32-arm.c (THUMB32_MOVT): New veneer macro.
(THUMB32_MOVW): Likewise.
(elf32_arm_stub_long_branch_thumb2_only_pure): New.
(DEF_STUBS): Define long_branch_thumb2_only_pure.
(arm_stub_is_thumb): Add new veneer stub.
(arm_type_of_stub): Use new veneer.
(arm_stub_required_alignment): Add new veneer.

2016-07-05  Andre Vieria  <andre.simoesdiasvieira@arm.com>

* testsuite/ld-arm/farcall-thumb2-purecode.d: New test result.
* testsuite/ld-arm/farcall-thumb2-purecode.s: New test.
* testsuite/ld-arm/arm-elf.exp: Run it.
bfd/ChangeLog
bfd/elf32-arm.c
ld/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp
ld/testsuite/ld-arm/farcall-thumb2-purecode.d [new file with mode: 0644]
ld/testsuite/ld-arm/farcall-thumb2-purecode.s [new file with mode: 0644]