gc-plt-relocs.d 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #source: gc-plt1.s
  2. #source: gc-plt-main.s
  3. #source: gc-plt-hidden.s
  4. #source: gc-plt2.s
  5. #target: [check_shared_lib_support]
  6. #ld: --gc-sections -T aarch64.ld --shared --hash-style=sysv
  7. #objdump: -dT
  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. .*: file format elf64-(little|big)aarch64
  12. DYNAMIC SYMBOL TABLE:
  13. 0+8000 g DF \.text 0+4 _start
  14. 0+0000 D \*UND\* 0+ foo
  15. 0+8008 g DF \.text 0+ bar
  16. Disassembly of section .text:
  17. 0+8000 \<_start\>:
  18. 8000: 9400000c bl 8030 \<.*>
  19. 0+8004 \<hidfn\>:
  20. 8004: 8a000000 and x0, x0, x0
  21. 0+8008 \<bar\>:
  22. 8008: 14000001 b 800c \<foo\>
  23. 0+800c \<foo\>:
  24. 800c: 97fffffe bl 8004 \<hidfn\>
  25. Disassembly of section .plt:
  26. 0+8010 \<\.plt\>:
  27. 8010: a9bf7bf0 stp x16, x30, \[sp, #-16\]!
  28. 8014: b0000010 adrp x16, 9000 .*
  29. 8018: f9400e11 ldr x17, \[x16, #24\]
  30. 801c: 91006210 add x16, x16, #0x18
  31. 8020: d61f0220 br x17
  32. 8024: d503201f nop
  33. 8028: d503201f nop
  34. 802c: d503201f nop
  35. 8030: b0000010 adrp x16, 9000 .*
  36. 8034: f9401211 ldr x17, \[x16, #32\]
  37. 8038: 91008210 add x16, x16, #0x20
  38. 803c: d61f0220 br x17