diff options
author | Nick Clifton <nickc@redhat.com> | 2013-04-03 14:21:18 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2013-04-03 14:21:18 +0000 |
commit | cb8af559c12b9a85acb429fed4d59e858574a43c (patch) | |
tree | a16f6f77f0ca2c24cb5dbed5492bc9d1be678f3b /ld/testsuite/ld-aarch64/gc-relocs-tlsgd.s | |
parent | 203f0950a35c87f17016045f1cd5a0460b445532 (diff) | |
download | gdb-cb8af559c12b9a85acb429fed4d59e858574a43c.zip gdb-cb8af559c12b9a85acb429fed4d59e858574a43c.tar.gz gdb-cb8af559c12b9a85acb429fed4d59e858574a43c.tar.bz2 |
* elf64-aarch64.c (elf64_aarch64_gc_sweep_hook): Use
elf64_aarch64_locals to get local GOT reference counts.
* ld-aarch64/gc-relocs-tlsle.s: New gc section test.
* ld-aarch64/gc-relocs-tlsle.s: Likewise
* ld-aarch64/gc-relocs-tlsgd.s: Likewise
* ld-aarch64/gc-relocs-tlsdesc.s: Likewise
* ld-aarch64/gc-relocs-312.s: Likewise
* ld-aarch64/gc-relocs-311.s: Likewise
* ld-aarch64/gc-relocs-309.s: Likewise
* ld-aarch64/gc-start.s: Likewise
* ld-aarch64/gc-got-relocs.d: Update expected objdump
* ld-aarch64/gc-tls-relocs.d: Likewise
* ld-aarch64/aarch64-elf.exp: add test
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 + |