gotop64.s 569 B

12345678910111213141516171819202122232425262728293031323334353637
  1. .data
  2. .align 4096
  3. .globl sym
  4. sym: .word 0x12345678
  5. local_sym:
  6. .word 0xdeadbeef
  7. .text
  8. .align 4096
  9. .LLGETPC0:
  10. retl
  11. add %o7, %l7, %l7
  12. .globl foo
  13. .type foo,#function
  14. .proc 04
  15. foo:
  16. save %sp, -160, %sp
  17. sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %l7
  18. call .LLGETPC0
  19. add %l7, %lo(_GLOBAL_OFFSET_TABLE_+4), %l7
  20. nop
  21. sethi %gdop_hix22(sym), %l1
  22. nop
  23. xor %l1, %gdop_lox10(sym), %l1
  24. nop
  25. ldx [%l7 + %l1], %i0, %gdop(sym)
  26. nop
  27. sethi %gdop_hix22(local_sym), %l1
  28. nop
  29. xor %l1, %gdop_lox10(local_sym), %l1
  30. nop
  31. ldx [%l7 + %l1], %i0, %gdop(local_sym)
  32. nop
  33. ret
  34. restore