mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 06:17:47 +08:00
PR ld/13990
* ld-arm/arm-elf.exp: Run gc-hidden-1. * ld-arm/gc-hidden-1.d: New test-file. * ld-arm/gcdfn.s, ld-arm/hideall.ld, ld-arm/hidfn.s, ld-arm/main.s: New files.
This commit is contained in:
@ -1,3 +1,11 @@
|
|||||||
|
2012-04-24 Hans-Peter Nilsson <hp@axis.com>
|
||||||
|
|
||||||
|
PR ld/13990
|
||||||
|
* ld-arm/arm-elf.exp: Run gc-hidden-1.
|
||||||
|
* ld-arm/gc-hidden-1.d: New test-file.
|
||||||
|
* ld-arm/gcdfn.s, ld-arm/hideall.ld, ld-arm/hidfn.s,
|
||||||
|
ld-arm/main.s: New files.
|
||||||
|
|
||||||
2012-04-23 Andreas Schwab <schwab@linux-m68k.org>
|
2012-04-23 Andreas Schwab <schwab@linux-m68k.org>
|
||||||
|
|
||||||
* ld-pie/pie.exp: Remove extra braces.
|
* ld-pie/pie.exp: Remove extra braces.
|
||||||
|
@ -759,3 +759,4 @@ run_dump_test "attr-merge-vfp-6r"
|
|||||||
run_dump_test "attr-merge-incompatible"
|
run_dump_test "attr-merge-incompatible"
|
||||||
run_dump_test "unresolved-1"
|
run_dump_test "unresolved-1"
|
||||||
run_dump_test "unresolved-1-dyn"
|
run_dump_test "unresolved-1-dyn"
|
||||||
|
run_dump_test "gc-hidden-1"
|
||||||
|
25
ld/testsuite/ld-arm/gc-hidden-1.d
Normal file
25
ld/testsuite/ld-arm/gc-hidden-1.d
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#target: arm*-*-*eabi
|
||||||
|
#source: main.s
|
||||||
|
#source: gcdfn.s
|
||||||
|
#source: hidfn.s
|
||||||
|
#ld: --gc-sections --shared --version-script hideall.ld
|
||||||
|
#objdump: -dRT
|
||||||
|
|
||||||
|
# See PR ld/13990: a forced-local PLT reference to a
|
||||||
|
# forced-local symbol is GC'ed, trigging a BFD_ASSERT.
|
||||||
|
|
||||||
|
.*: file format elf32-.*
|
||||||
|
|
||||||
|
DYNAMIC SYMBOL TABLE:
|
||||||
|
0+124 l d .text 0+ .text
|
||||||
|
0+ g DO \*ABS\* 0+ NS NS
|
||||||
|
|
||||||
|
Disassembly of section .text:
|
||||||
|
|
||||||
|
0+124 <_start>:
|
||||||
|
124: e52de004 push {lr} ; \(str lr, \[sp, #-4\]!\)
|
||||||
|
128: eb000000 bl 130 <hidfn>
|
||||||
|
12c: e8bd8000 pop {pc}
|
||||||
|
|
||||||
|
0+130 <hidfn>:
|
||||||
|
130: e8bd8000 pop {pc}
|
8
ld/testsuite/ld-arm/gcdfn.s
Normal file
8
ld/testsuite/ld-arm/gcdfn.s
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.text
|
||||||
|
.globl gcdfn
|
||||||
|
.type gcdfn, %function
|
||||||
|
gcdfn:
|
||||||
|
str lr, [sp, #-4]!
|
||||||
|
bl hidfn(PLT)
|
||||||
|
ldmfd sp!, {pc}
|
||||||
|
.size gcdfn, . - gcdfn
|
1
ld/testsuite/ld-arm/hideall.ld
Normal file
1
ld/testsuite/ld-arm/hideall.ld
Normal file
@ -0,0 +1 @@
|
|||||||
|
NS { local: *; };
|
7
ld/testsuite/ld-arm/hidfn.s
Normal file
7
ld/testsuite/ld-arm/hidfn.s
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
.text
|
||||||
|
.globl hidfn
|
||||||
|
.hidden hidfn
|
||||||
|
.type hidfn, %function
|
||||||
|
hidfn:
|
||||||
|
ldmfd sp!, {pc}
|
||||||
|
.size hidfn, . - hidfn
|
8
ld/testsuite/ld-arm/main.s
Normal file
8
ld/testsuite/ld-arm/main.s
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
.text
|
||||||
|
.globl _start
|
||||||
|
.type _start, %function
|
||||||
|
_start:
|
||||||
|
str lr, [sp, #-4]!
|
||||||
|
bl hidfn(PLT)
|
||||||
|
ldmfd sp!, {pc}
|
||||||
|
.size _start, . - _start
|
Reference in New Issue
Block a user