old-cross-binutils/ld/testsuite/ld-arm/ifunc-6.dd
Nathan Sidwell 26d97720ed gas/
* config/tc-arm.c (parse_address_main): Handle -0 offsets.
	(encode_arm_addr_mode_2): Set default sign of zero here ...
	(encode_arm_addr_mode_3): ... and here.
	(encode_arm_cp_address): ... and here.
	(md_apply_fix): Use default sign of zero here.

	gas/testsuite/
	* gas/arm/inst.d: Adjust for signed zero offsets.
	* gas/arm/ldst-offset0.d: New test.
	* gas/arm/ldst-offset0.s: New test.
	* gas/arm/offset-1.d: New test.
	* gas/arm/offset-1.s: New test.

	ld/testsuite/
	Adjust tests for zero offset formatting.
	* ld-arm/cortex-a8-fix-bcc-plt.d: Adjust.
	* ld-arm/farcall-arm-arm-pic-veneer.d: Adjust.
	* ld-arm/farcall-arm-thumb.d: Adjust.
	* ld-arm/farcall-group-size2.d: Adjust.
	* ld-arm/farcall-group.d: Adjust.
	* ld-arm/farcall-mix.d: Adjust.
	* ld-arm/farcall-mix2.d: Adjust.
	* ld-arm/farcall-mixed-lib-v4t.d: Adjust.
	* ld-arm/farcall-mixed-lib.d: Adjust.
	* ld-arm/farcall-thumb-arm-blx-pic-veneer.d: Adjust.
	* ld-arm/farcall-thumb-arm-pic-veneer.d: Adjust.
	* ld-arm/farcall-thumb-thumb.d: Adjust.
	* ld-arm/ifunc-10.dd: Adjust.
	* ld-arm/ifunc-3.dd: Adjust.
	* ld-arm/ifunc-4.dd: Adjust.
	* ld-arm/ifunc-5.dd: Adjust.
	* ld-arm/ifunc-6.dd: Adjust.
	* ld-arm/ifunc-7.dd: Adjust.
	* ld-arm/ifunc-8.dd: Adjust.
	* ld-arm/jump-reloc-veneers-long.d: Adjust.
	* ld-arm/tls-longplt-lib.d: Adjust.
	* ld-arm/tls-thumb1.d: Adjust.

	opcodes/
	* arm-dis.c (print_insn_coprocessor): Explicitly print #-0
	as address offset.
	(print_arm_address): Likewise. Elide positive #0 appropriately.
	(print_insn_arm): Likewise.
2011-06-02 15:32:10 +00:00

175 lines
8.7 KiB
Text

.*
Disassembly of section \.iplt:
00009000 <\.iplt>:
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
9000: 4778 bx pc
9002: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
9004: e28fc600 add ip, pc, #0
9008: e28cca08 add ip, ip, #32768 ; 0x8000
900c: e5bcf000 ldr pc, \[ip, #0\]!
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
9010: e28fc600 add ip, pc, #0
9014: e28cca07 add ip, ip, #28672 ; 0x7000
9018: e5bcfff8 ldr pc, \[ip, #4088\]! ; 0xff8
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
901c: 4778 bx pc
901e: 46c0 nop ; \(mov r8, r8\)
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
9020: e28fc600 add ip, pc, #0
9024: e28cca07 add ip, ip, #28672 ; 0x7000
9028: e5bcffec ldr pc, \[ip, #4076\]! ; 0xfec
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
902c: e28fc600 add ip, pc, #0
9030: e28cca07 add ip, ip, #28672 ; 0x7000
9034: e5bcffe4 ldr pc, \[ip, #4068\]! ; 0xfe4
Disassembly of section \.text:
0000a000 <f1>:
a000: e1a0f00e mov pc, lr
0000a004 <f2>:
a004: 46f7 mov pc, lr
\.\.\.
0000a008 <f3>:
a008: e1a0f00e mov pc, lr
0000a00c <f4>:
a00c: 46f7 mov pc, lr
\.\.\.
0000a010 <_start>:
a010: eb0017fa bl 10000 <foo>
a014: ea0017f9 b 10000 <foo>
a018: 0a0017f8 beq 10000 <foo>
a01c: e59f4000 ldr r4, \[pc\] ; a024 <_start\+0x14>
a020: e59f4000 ldr r4, \[pc\] ; a028 <_start\+0x18>
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a024: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a028: 00006ff4 \.word 0x00006ff4
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a02c: ebfffbfe bl 902c <__irel_end\+0x100c>
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a030: eafffbfd b 902c <__irel_end\+0x100c>
#------------------------------------------------------------------------------
#------ f1's .iplt entry
#------------------------------------------------------------------------------
a034: 0afffbfc beq 902c <__irel_end\+0x100c>
a038: e59f4000 ldr r4, \[pc\] ; a040 <_start\+0x30>
a03c: e59f4000 ldr r4, \[pc\] ; a044 <_start\+0x34>
#------------------------------------------------------------------------------
#------ GP-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a040: 00000018 \.word 0x00000018
#------------------------------------------------------------------------------
#------ PC-relative offset of f1's .igot.plt entry
#------------------------------------------------------------------------------
a044: 00006fd4 \.word 0x00006fd4
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a048: ebfffbf0 bl 9010 <__irel_end\+0xff0>
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a04c: eafffbef b 9010 <__irel_end\+0xff0>
#------------------------------------------------------------------------------
#------ f2's .iplt entry
#------------------------------------------------------------------------------
a050: 0afffbee beq 9010 <__irel_end\+0xff0>
a054: e59f4000 ldr r4, \[pc\] ; a05c <_start\+0x4c>
a058: e59f4000 ldr r4, \[pc\] ; a060 <_start\+0x50>
#------------------------------------------------------------------------------
#------ GP-relative offset of f2's .igot.plt entry
#------------------------------------------------------------------------------
a05c: 00000010 \.word 0x00000010
#------------------------------------------------------------------------------
#------ PC-relative offset of f2's .igot.plt entry
#------------------------------------------------------------------------------
a060: 00006fb0 \.word 0x00006fb0
0000a064 <_thumb>:
a064: f005 ffcc bl 10000 <foo>
a068: f005 bfca b\.w 10000 <foo>
a06c: f005 87c8 beq\.w 10000 <foo>
a070: 4c00 ldr r4, \[pc, #0\] ; \(a074 <_thumb\+0x10>\)
a072: 4c01 ldr r4, \[pc, #4\] ; \(a078 <_thumb\+0x14>\)
#------------------------------------------------------------------------------
#------ .got offset for foo
#------------------------------------------------------------------------------
a074: 00000020 \.word 0x00000020
#------------------------------------------------------------------------------
#------ PC-relative offset of .got entry for foo
#------------------------------------------------------------------------------
a078: 00006fa4 \.word 0x00006fa4
#------------------------------------------------------------------------------
#------ f3's .iplt entry
#------------------------------------------------------------------------------
a07c: f7fe efc2 blx 9004 <__irel_end\+0xfe4>
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
a080: f7fe bfbe b\.w 9000 <__irel_end\+0xfe0>
#------------------------------------------------------------------------------
#------ thumb entry to f3's .iplt entry
#------------------------------------------------------------------------------
a084: f43e afbc beq\.w 9000 <__irel_end\+0xfe0>
a088: 4c00 ldr r4, \[pc, #0\] ; \(a08c <_thumb\+0x28>\)
a08a: 4c01 ldr r4, \[pc, #4\] ; \(a090 <_thumb\+0x2c>\)
#------------------------------------------------------------------------------
#------ GP-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a08c: 0000000c \.word 0x0000000c
#------------------------------------------------------------------------------
#------ PC-relative offset of f3's .igot.plt entry
#------------------------------------------------------------------------------
a090: 00006f7c \.word 0x00006f7c
#------------------------------------------------------------------------------
#------ f4's .iplt entry
#------------------------------------------------------------------------------
a094: f7fe efc4 blx 9020 <__irel_end\+0x1000>
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
a098: f7fe bfc0 b\.w 901c <__irel_end\+0xffc>
#------------------------------------------------------------------------------
#------ thumb entry to f4's .iplt entry
#------------------------------------------------------------------------------
a09c: f43e afbe beq\.w 901c <__irel_end\+0xffc>
a0a0: 4c00 ldr r4, \[pc, #0\] ; \(a0a4 <_thumb\+0x40>\)
a0a2: 4c01 ldr r4, \[pc, #4\] ; \(a0a8 <_thumb\+0x44>\)
#------------------------------------------------------------------------------
#------ GP-relative offset of f4's .igot.plt entry
#------------------------------------------------------------------------------
a0a4: 00000014 \.word 0x00000014
#------------------------------------------------------------------------------
#------ PC-relative offset of f4's .igot.plt entry
#------------------------------------------------------------------------------
a0a8: 00006f6c \.word 0x00006f6c