#source: gc-plt1.s #source: gc-plt-main.s #source: gc-plt-hidden.s #source: gc-plt2.s #ld: --gc-sections -T aarch64.ld --shared #objdump: -dT # Shared object with plt related relocs against global symbol # and local functions gced. After gc-section removal we are # checking that the function does not exist. .*: file format elf64-(little|big)aarch64 DYNAMIC SYMBOL TABLE: 0+8000 l d \.text 0+ \.text 0+8000 g DF \.text 0+4 _start 0+0000 D \*UND\* 0+ foo 0+8008 g DF \.text 0+ bar Disassembly of section .text: 0+8000 \<_start\>: 8000: 9400000c bl 8030 \ 0+8004 \: 8004: 8a000000 and x0, x0, x0 0+8008 \: 8008: 14000001 b 800c \ 0+800c \: 800c: 97fffffe bl 8004 \ Disassembly of section .plt: 0+8010 \<\.plt\>: 8010: a9bf7bf0 stp x16, x30, \[sp,#-16\]! 8014: b0000010 adrp x16, 9000 .* 8018: f9400e11 ldr x17, \[x16,#24\] 801c: 91006210 add x16, x16, #0x18 8020: d61f0220 br x17 8024: d503201f nop 8028: d503201f nop 802c: d503201f nop 8030: b0000010 adrp x16, 9000 .* 8034: f9401211 ldr x17, \[x16,#32\] 8038: 91008210 add x16, x16, #0x20 803c: d61f0220 br x17