1 #source: gc-plt1.s
2 #source: gc-plt-main.s
3 #source: gc-plt-hidden.s
4 #source: gc-plt2.s
5 #ld: --gc-sections -T aarch64.ld --shared
6 #objdump: -dT
7 
8 # Shared object with plt related relocs against global symbol
9 # and local functions gced.  After gc-section removal we are
10 # checking that the function does not exist.
11 
12 .*:     file format elf64-(little|big)aarch64
13 
14 DYNAMIC SYMBOL TABLE:
15 0+8000 l    d  \.text	0+ \.text
16 0+8000 g    DF \.text	0+4 _start
17 0+0000      D  \*UND\*	0+ foo
18 0+8008 g    DF \.text	0+ bar
19 
20 Disassembly of section .text:
21 
22 0+8000 \<_start\>:
23     8000:	9400000c 	bl	8030 \<foo\+0x24\>
24 
25 0+8004 \<hidfn\>:
26     8004:	8a000000 	and	x0, x0, x0
27 
28 0+8008 \<bar\>:
29     8008:	14000001 	b	800c \<foo\>
30 
31 0+800c \<foo\>:
32     800c:	97fffffe 	bl	8004 \<hidfn\>
33 
34 Disassembly of section .plt:
35 
36 0+8010 \<\.plt\>:
37     8010:	a9bf7bf0 	stp	x16, x30, \[sp,#-16\]!
38     8014:	b0000010 	adrp	x16, 9000 .*
39     8018:	f9400e11 	ldr	x17, \[x16,#24\]
40     801c:	91006210 	add	x16, x16, #0x18
41     8020:	d61f0220 	br	x17
42     8024:	d503201f 	nop
43     8028:	d503201f 	nop
44     802c:	d503201f 	nop
45     8030:	b0000010 	adrp	x16, 9000 .*
46     8034:	f9401211 	ldr	x17, \[x16,#32\]
47     8038:	91008210 	add	x16, x16, #0x20
48     803c:	d61f0220 	br	x17
49