gc-relocs-tlsdesc.s 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. .global tlsdescvar
  2. .section .tbss,"awT",%nobits
  3. .align 2
  4. .type tlsdescvar, %object
  5. .size tlsdescvar, 4
  6. tlsdescvar:
  7. .zero 4
  8. .align 2
  9. .type l_tlsdescvar, %object
  10. .size l_tlsdescvar, 4
  11. l_tlsdescvar:
  12. .zero 4
  13. .text
  14. _test_tls_desc:
  15. // R_AARCH64_TLSDESC_ADR_PAGE tlsdescvar
  16. adrp x0, :tlsdesc:tlsdescvar
  17. // R_AARCH64_TLSDESC_LD64_LO12 tlsdescvar
  18. ldr x1, [x0, :tlsdesc_lo12:tlsdescvar]
  19. // R_AARCH64_TLSDESC_ADD_LO12 tlsdescvar
  20. add x0, x0, :tlsdesc_lo12:tlsdescvar
  21. // R_AARCH64_TLSDESC_CALL tlsdescvar
  22. .tlsdesccall tlsdescvar
  23. blr x1
  24. _test_tls_desc_local:
  25. // R_AARCH64_TLSDESC_ADR_PAGE l_tlsdescvar
  26. adrp x0, :tlsdesc:l_tlsdescvar
  27. // R_AARCH64_TLSDESC_LD64_LO12 l_tlsdescvar
  28. ldr x1, [x0, :tlsdesc_lo12:l_tlsdescvar]
  29. // R_AARCH64_TLSDESC_ADD_LO12 l_tlsdescvar
  30. add x0, x0, :tlsdesc_lo12:l_tlsdescvar
  31. // R_AARCH64_TLSDESC_CALL l_tlsdescvar
  32. .tlsdesccall l_tlsdescvar
  33. blr x1