binutils-gdb/ld/testsuite/ld-arm/jump-reloc-veneers-cond-long-backward.d
Terry Guo c542398150 bfd/ChangeLog
2014-08-21  Tony Wang  <tony.wang@arm.com>

	* elf32-arm.c (elf32_arm_final_link_relocate): Implement
	the veneer routine for R_ARM_THM_JUMP19.
	(arm_type_of_stub): Add conditional clause for R_ARM_THM_JUMP19
	(elf32_arm_size_stub): Ditto.

ld/testsuite/ChangeLog
2014-08-21  Tony Wang  <tony.wang@arm.com>

	* ld-arm/jump-reloc-veneers-cond.s: New test.
	* ld-arm/farcall-cond-thumb-arm.s: Ditto.
	* ld-arm/jump-reloc-veneers-cond-short.d: Expected output
	for target without a veneer generation.
	* ld-arm/jump-reloc-veneers-cond-long.d: Expected output
	for target with a veneer generation.
	* ld-arm/farcall-cond-thumb-arm.d: Expected output for
	inter working veneer generation.
	* ld-arm/arm-elf.exp: Add tests for conditional branch veneer.
2014-08-21 18:00:35 +08:00

25 lines
526 B
Makefile

.*: file format.*
Disassembly of section destsect:
00008002 <[^>]*>:
8002: f7ff fffe bl 8002 <dest>
Disassembly of section .text:
001080.. <[^>]*>:
1080..: f040 8002 bne.w 108008 <__dest_veneer>
1080..: 0000 movs r0, r0
...
001080.. <[^>]*>:
1080..: b401 push {r0}
1080..: 4802 ldr r0, \[pc, #8\] ; \(108014 <__dest_veneer\+0xc>\)
1080..: 4684 mov ip, r0
1080..: bc01 pop {r0}
1080..: 4760 bx ip
1080..: bf00 nop
1080..: 00008003 .word 0x00008003