diff options
Diffstat (limited to 'ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s')
-rw-r--r-- | ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s b/ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s new file mode 100644 index 0000000..ac90475 --- /dev/null +++ b/ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s @@ -0,0 +1,30 @@ + .global tlsgdvar + .section .tbss,"awT",%nobits + .align 2 + .type tlsgdvar, %object + .size tlsgdvar, 4 +tlsgdvar: + .zero 4 + .align 2 + .type l_tlsgdvar, %object + .size l_tlsgdvar, 4 +l_tlsgdvar: + .zero 4 + +.text +_test_tls_gd: + // R_AARCH64_TLSGD_ADR_PAGE21 tldgdvar + adrp x0, :tlsgd:tlsgdvar + // R_AARCH64_TLSGD_ADD_LO12_NC tlsgdvar + add x0, x0, :tlsgd_lo12:tlsgdvar + // R_AARCH64_CALL26 + bl __tls_get_addr + +_test_tls_gd_local: + // R_AARCH64_TLSGD_ADR_PAGE21 l_tldgdvar + adrp x0, :tlsgd:l_tlsgdvar + // R_AARCH64_TLSGD_ADD_LO12_NC l_tlsgdvar + add x0, x0, :tlsgd_lo12:l_tlsgdvar + // R_AARCH64_CALL26 + bl __tls_get_addr + |