mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
a4fd1a8ee5
bfd/ * elf32-arm.c (elf32_arm_link_hash_entry): Add export_glue. (elf32_arm_link_hash_newfunc): Initialize export_glue. (record_arm_to_thumb_glue): Return stub symbol. (elf32_arm_create_thumb_stub): New function. (elf32_arm_to_thumb_stub): Use it. (elf32_arm_to_thumb_export_stub): New function. (elf32_arm_begin_write_processing): New function. (allocate_dynrelocs): Allocate Arm stubs. (elf_backend_begin_write_processing): Define. (elf32_arm_symbian_begin_write_processing): Remove ATTRIBUTE_UNUSED. Call elf32_arm_begin_write_processing. ld/ * emultempl/armelf.em (arm_elf_before_allocation): Call gld${EMULATION_NAME}_before_allocation after setting interworking bfd. ld/testsuite/ * ld-arm/arm-elf.exp (armelftests): Add armthumb-lib.so. Add -use-blx to mixed-lib.so * ld-arm/armthumb-lib.d: New file. * ld-arm/armthumb-lib.sym: New file.
45 lines
1.2 KiB
Makefile
45 lines
1.2 KiB
Makefile
|
|
tmpdir/armthumb-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 str lr, \[sp, #-4\]!
|
|
.*: e59fe004 ldr lr, \[pc, #4\] ; .* <\.plt\+0x10>
|
|
.*: e08fe00e add lr, pc, lr
|
|
.*: e5bef008 ldr pc, \[lr, #8\]!
|
|
.*: .*
|
|
.*: e28fc6.* add ip, pc, #.* ; 0x.*
|
|
.*: e28cca.* add ip, ip, #.* ; 0x.*
|
|
.*: e5bcf.* ldr pc, \[ip, #.*\]!
|
|
Disassembly of section .text:
|
|
|
|
.* <lib_func1>:
|
|
.*: e1a0c00d mov ip, sp
|
|
.*: e92dd800 stmdb sp!, {fp, ip, lr, pc}
|
|
.*: ebfffff. bl .* <.text-0x..>
|
|
.*: e89d6800 ldmia sp, {fp, sp, lr}
|
|
.*: e12fff1e bx lr
|
|
.*: e1a00000 nop \(mov r0,r0\)
|
|
.*: e1a00000 nop \(mov r0,r0\)
|
|
.*: e1a00000 nop \(mov r0,r0\)
|
|
|
|
.* <__real_lib_func2>:
|
|
.*: 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_func2>:
|
|
.*: e59fc004 ldr ip, \[pc, #4\] ; 33c <lib_func2\+0xc>
|
|
.*: e08cc00f add ip, ip, pc
|
|
.*: e12fff1c bx ip
|
|
.*: ffffffe5 .*
|