binutils-gdb/ld/testsuite/ld-arm/farcall-thumb2-purecode.d
Andre Vieria d5a67c0290 [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.
2016-07-05 11:39:06 +01:00

23 lines
442 B
Makefile

.*: file format .*
Disassembly of section .text:
00001000 <bar>:
1000: 4770 bx lr
Disassembly of section .foo:
02001020 <_start>:
2001020: f000 f802 bl 2001028 <__bar_veneer>
2001024: 0000 movs r0, r0
\.\.\.
02001028 <__bar_veneer>:
2001028: f241 0c01 movw ip, #4097 ; 0x1001
200102c: f2c0 0c00 movt ip, #0
2001030: 4760 bx ip
2001032: 0000 movs r0, r0
2001034: 0000 movs r0, r0
\.\.\.