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.
92 lines
2.8 KiB
Makefile
92 lines
2.8 KiB
Makefile
tmpdir/farcall-mixed-lib.so: file format elf32-(little|big)arm
|
|
architecture: arm, flags 0x00000150:
|
|
HAS_SYMS, DYNAMIC, D_PAGED
|
|
start address 0x.*
|
|
|
|
Disassembly of section .plt:
|
|
|
|
.* <.plt>:
|
|
.*: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
|
|
.*: e59fe004 ldr lr, \[pc, #4\] ; .* <lib_func1-0x.*>
|
|
.*: e08fe00e add lr, pc, lr
|
|
.*: e5bef008 ldr pc, \[lr, #8\]!
|
|
.*: .*
|
|
.*: e28fc6.* add ip, pc, #.*
|
|
.*: e28cca.* add ip, ip, #.* ; 0x.*
|
|
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
|
|
.*: e28fc6.* add ip, pc, #.*
|
|
.*: e28cca.* add ip, ip, #.* ; 0x.*
|
|
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
|
|
.*: e28fc6.* add ip, pc, #.*
|
|
.*: e28cca.* add ip, ip, #.* ; 0x.*
|
|
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
|
|
.*: e28fc6.* add ip, pc, #.*
|
|
.*: e28cca.* add ip, ip, #.* ; 0x.*
|
|
.*: e5bcf.* ldr pc, \[ip, #.*\]!.*
|
|
|
|
Disassembly of section .text:
|
|
|
|
.* <lib_func1>:
|
|
.*: e1a0c00d mov ip, sp
|
|
.*: e92dd800 push {fp, ip, lr, pc}
|
|
.*: ebffff.. bl .* <lib_func1-0x..?>
|
|
.*: ebffff.. bl .* <lib_func1-0x..?>
|
|
.*: ebfffff. bl .* <lib_func1-0x..?>
|
|
.*: ebfffff. bl .* <lib_func1-0x..?>
|
|
.*: e89d6800 ldm sp, {fp, sp, lr}
|
|
.*: e12fff1e bx lr
|
|
...
|
|
|
|
.* <lib_func2>:
|
|
.*: f000 e820 blx 1000344 <__app_func_from_thumb>
|
|
.*: f000 e812 blx 100032c <__app_func_weak_from_thumb>
|
|
.*: f000 e80a blx 1000320 <__lib_func3_from_thumb>
|
|
.*: f000 e814 blx 1000338 <__lib_func4_from_thumb>
|
|
.*: 4770 bx lr
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
|
|
.* <__lib_func3_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 1000328 <__lib_func3_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: feffff90 .word 0xfeffff90
|
|
|
|
.* <__app_func_weak_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 1000334 <__app_func_weak_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: feffff78 .word 0xfeffff78
|
|
|
|
.* <__lib_func4_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 1000340 <__lib_func4_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: feffff84 .word 0xfeffff84
|
|
|
|
.* <__app_func_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 100034c <__app_func_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: feffff54 .word 0xfeffff54
|
|
...
|
|
|
|
.* <lib_func3>:
|
|
.*: f000 e80c blx 200037c <__app_func_from_thumb>
|
|
.*: f000 e804 blx 2000370 <__app_func_weak_from_thumb>
|
|
.*: 4770 bx lr
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
.*: 46c0 nop ; \(mov r8, r8\)
|
|
|
|
.* <__app_func_weak_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 2000378 <__app_func_weak_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: fdffff34 .word 0xfdffff34
|
|
|
|
.* <__app_func_from_thumb>:
|
|
.*: e59fc000 ldr ip, \[pc\] ; 2000384 <__app_func_from_thumb\+0x8>
|
|
.*: e08ff00c add pc, pc, ip
|
|
.*: fdffff1c .word 0xfdffff1c
|
|
...
|