26d97720ed
* 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.
120 lines
5.7 KiB
Text
120 lines
5.7 KiB
Text
|
|
.*
|
|
|
|
|
|
Disassembly of section \.plt:
|
|
|
|
00009000 <\.plt>:
|
|
9000: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
|
|
9004: e59fe004 ldr lr, \[pc, #4\] ; 9010 <f1-0xff0>
|
|
9008: e08fe00e add lr, pc, lr
|
|
900c: e5bef008 ldr pc, \[lr, #8\]!
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of .got.plt
|
|
#------------------------------------------------------------------------------
|
|
9010: 00007ff0 \.word 0x00007ff0
|
|
#------------------------------------------------------------------------------
|
|
#------ f2's .plt entry
|
|
#------------------------------------------------------------------------------
|
|
9014: e28fc600 add ip, pc, #0
|
|
9018: e28cca07 add ip, ip, #28672 ; 0x7000
|
|
901c: e5bcfff0 ldr pc, \[ip, #4080\]! ; 0xff0
|
|
#------------------------------------------------------------------------------
|
|
#------ f4's .plt entry
|
|
#------------------------------------------------------------------------------
|
|
9020: e28fc600 add ip, pc, #0
|
|
9024: e28cca07 add ip, ip, #28672 ; 0x7000
|
|
9028: e5bcffe8 ldr pc, \[ip, #4072\]! ; 0xfe8
|
|
|
|
Disassembly of section \.iplt:
|
|
|
|
0000902c <\.iplt>:
|
|
#------------------------------------------------------------------------------
|
|
#------ f1's .iplt entry
|
|
#------------------------------------------------------------------------------
|
|
902c: e28fc600 add ip, pc, #0
|
|
9030: e28cca07 add ip, ip, #28672 ; 0x7000
|
|
9034: e5bcffe0 ldr pc, \[ip, #4064\]! ; 0xfe0
|
|
#------------------------------------------------------------------------------
|
|
#------ f3's .iplt entry
|
|
#------------------------------------------------------------------------------
|
|
9038: e28fc600 add ip, pc, #0
|
|
903c: e28cca07 add ip, ip, #28672 ; 0x7000
|
|
9040: e5bcffd8 ldr pc, \[ip, #4056\]! ; 0xfd8
|
|
|
|
Disassembly of section \.text:
|
|
|
|
0000a000 <f1>:
|
|
a000: e1a0f00e mov pc, lr
|
|
|
|
0000a004 <f3>:
|
|
a004: e1a0f00e mov pc, lr
|
|
|
|
0000a008 <arm>:
|
|
a008: eb0017fc bl 10000 <foo>
|
|
a00c: e59f4000 ldr r4, \[pc\] ; a014 <arm\+0xc>
|
|
a010: e59f4000 ldr r4, \[pc\] ; a018 <arm\+0x10>
|
|
#------------------------------------------------------------------------------
|
|
#------ .got offset for foo
|
|
#------------------------------------------------------------------------------
|
|
a014: 00000020 \.word 0x00000020
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of .got entry for foo
|
|
#------------------------------------------------------------------------------
|
|
a018: 00007004 \.word 0x00007004
|
|
#------------------------------------------------------------------------------
|
|
#------ f1's .iplt entry
|
|
#------------------------------------------------------------------------------
|
|
a01c: ebfffc02 bl 902c <f1-0xfd4>
|
|
a020: e59f4000 ldr r4, \[pc\] ; a028 <arm\+0x20>
|
|
a024: e59f4000 ldr r4, \[pc\] ; a02c <arm\+0x24>
|
|
#------------------------------------------------------------------------------
|
|
#------ GP-relative offset of f1's .igot.plt entry
|
|
#------------------------------------------------------------------------------
|
|
a028: 00000014 \.word 0x00000014
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of f1's .igot.plt entry
|
|
#------------------------------------------------------------------------------
|
|
a02c: 00006fe8 \.word 0x00006fe8
|
|
#------------------------------------------------------------------------------
|
|
#------ f2's .plt entry
|
|
#------------------------------------------------------------------------------
|
|
a030: ebfffbf7 bl 9014 <f1-0xfec>
|
|
a034: e59f4000 ldr r4, \[pc\] ; a03c <arm\+0x34>
|
|
a038: e59f4000 ldr r4, \[pc\] ; a040 <arm\+0x38>
|
|
#------------------------------------------------------------------------------
|
|
#------ .got offset for f2
|
|
#------------------------------------------------------------------------------
|
|
a03c: 00000024 \.word 0x00000024
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of .got entry for f2
|
|
#------------------------------------------------------------------------------
|
|
a040: 00006fe4 \.word 0x00006fe4
|
|
#------------------------------------------------------------------------------
|
|
#------ f3's .iplt entry
|
|
#------------------------------------------------------------------------------
|
|
a044: ebfffbfb bl 9038 <f1-0xfc8>
|
|
a048: e59f4000 ldr r4, \[pc\] ; a050 <arm\+0x48>
|
|
a04c: e59f4000 ldr r4, \[pc\] ; a054 <arm\+0x4c>
|
|
#------------------------------------------------------------------------------
|
|
#------ GP-relative offset of f3's .igot.plt entry
|
|
#------------------------------------------------------------------------------
|
|
a050: 00000018 \.word 0x00000018
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of f3's .igot.plt entry
|
|
#------------------------------------------------------------------------------
|
|
a054: 00006fc4 \.word 0x00006fc4
|
|
#------------------------------------------------------------------------------
|
|
#------ f4's .plt entry
|
|
#------------------------------------------------------------------------------
|
|
a058: ebfffbf0 bl 9020 <f1-0xfe0>
|
|
a05c: e59f4000 ldr r4, \[pc\] ; a064 <arm\+0x5c>
|
|
a060: e59f4000 ldr r4, \[pc\] ; a068 <arm\+0x60>
|
|
#------------------------------------------------------------------------------
|
|
#------ .got offset for f4
|
|
#------------------------------------------------------------------------------
|
|
a064: 00000028 \.word 0x00000028
|
|
#------------------------------------------------------------------------------
|
|
#------ PC-relative offset of .got entry for f4
|
|
#------------------------------------------------------------------------------
|
|
a068: 00006fc0 \.word 0x00006fc0
|