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:
Hans-Peter Nilsson 2012-04-24 16:14:31 +00:00
parent 2758625139
commit 4646d23b55
7 changed files with 58 additions and 0 deletions

View File

@ -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>
* ld-pie/pie.exp: Remove extra braces.

View File

@ -759,3 +759,4 @@ run_dump_test "attr-merge-vfp-6r"
run_dump_test "attr-merge-incompatible"
run_dump_test "unresolved-1"
run_dump_test "unresolved-1-dyn"
run_dump_test "gc-hidden-1"

View 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}

View 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

View File

@ -0,0 +1 @@
NS { local: *; };

View File

@ -0,0 +1,7 @@
.text
.globl hidfn
.hidden hidfn
.type hidfn, %function
hidfn:
ldmfd sp!, {pc}
.size hidfn, . - hidfn

View 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