aix-gc-1.s 816 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. .macro loadtoc,sym
  2. .if size == 32
  3. lwz 1,\sym(2)
  4. .else
  5. ld 1,\sym(2)
  6. .endif
  7. .endm
  8. .toc
  9. LC01: .tc indirect1[TC],indirect1[RW]
  10. LC02: .tc block[TC],block[RW]
  11. .csect .unused_local[PR]
  12. .unused_local:
  13. bl .unused_global
  14. .globl .init_function
  15. .csect .init_function[PR]
  16. .init_function:
  17. loadtoc LC01
  18. .globl .fini_function
  19. .csect .fini_function[PR]
  20. .fini_function:
  21. loadtoc LC02
  22. .globl .unused_global
  23. .csect .unused_global[PR]
  24. .unused_global:
  25. bl .unused_local
  26. .globl .exported_global
  27. .csect .exported_global[PR]
  28. .exported_global:
  29. bl .indirect2
  30. .globl .indirect1
  31. .csect .indirect1[PR]
  32. .indirect1:
  33. lwz 8,4(8)
  34. .csect .indirect2[PR]
  35. .indirect2:
  36. lwz 8,8(8)
  37. .globl .indirect3
  38. .csect .indirect3[PR]
  39. .indirect3:
  40. lwz 8,12(8)
  41. .globl block
  42. .csect block[RW]
  43. block:
  44. .long indirect3
  45. .long 0x11223344