diff options
Diffstat (limited to 'test/ELF/tls-dynamic-i686.s')
-rw-r--r-- | test/ELF/tls-dynamic-i686.s | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/test/ELF/tls-dynamic-i686.s b/test/ELF/tls-dynamic-i686.s index b2620d048864..4db6278ca21b 100644 --- a/test/ELF/tls-dynamic-i686.s +++ b/test/ELF/tls-dynamic-i686.s @@ -19,6 +19,14 @@ tls1: .long 0 .size tls1, 4 +.type tls2,@object +.globl tls2 +.hidden tls2 +.align 4 +tls2: + .long 0 + .size tls2, 4 + .section .text .globl _start _start: @@ -28,13 +36,13 @@ call __tls_get_addr@plt leal tls1@tlsgd(,%ebx,1),%eax call __tls_get_addr@plt -leal tls0@tlsldm(%ebx),%eax +leal tls2@tlsldm(%ebx),%eax call __tls_get_addr@plt -leal tls0@dtpoff(%eax),%edx +leal tls2@dtpoff(%eax),%edx -leal tls1@tlsldm(%ebx),%eax +leal tls2@tlsldm(%ebx),%eax call __tls_get_addr@plt -leal tls1@dtpoff(%eax),%edx +leal tls2@dtpoff(%eax),%edx movl %gs:0,%eax addl tls0@gotntpoff(%ebx),%eax @@ -59,12 +67,12 @@ addl tls1@gotntpoff(%ebx),%eax // CHECK: Relocations [ // CHECK: Section ({{.+}}) .rel.dyn { +// CHECK-NEXT: 0x2078 R_386_TLS_DTPMOD32 - 0x0 // CHECK-NEXT: 0x2068 R_386_TLS_DTPMOD32 tls0 0x0 // CHECK-NEXT: 0x206C R_386_TLS_DTPOFF32 tls0 0x0 +// CHECK-NEXT: 0x2080 R_386_TLS_TPOFF tls0 0x0 // CHECK-NEXT: 0x2070 R_386_TLS_DTPMOD32 tls1 0x0 // CHECK-NEXT: 0x2074 R_386_TLS_DTPOFF32 tls1 0x0 -// CHECK-NEXT: 0x2078 R_386_TLS_DTPMOD32 - 0x0 -// CHECK-NEXT: 0x2080 R_386_TLS_TPOFF tls0 0x0 // CHECK-NEXT: 0x2084 R_386_TLS_TPOFF tls1 0x0 // CHECK-NEXT: } @@ -81,10 +89,10 @@ addl tls1@gotntpoff(%ebx),%eax // -16 is a local module tls index offset. // DIS-NEXT: 1018: 8d 83 f0 ff ff ff leal -16(%ebx), %eax // DIS-NEXT: 101e: e8 4d 00 00 00 calll 77 -// DIS-NEXT: 1023: 8d 90 00 00 00 00 leal (%eax), %edx +// DIS-NEXT: 1023: 8d 90 08 00 00 00 leal 8(%eax), %edx // DIS-NEXT: 1029: 8d 83 f0 ff ff ff leal -16(%ebx), %eax // DIS-NEXT: 102f: e8 3c 00 00 00 calll 60 -// DIS-NEXT: 1034: 8d 90 04 00 00 00 leal 4(%eax), %edx +// DIS-NEXT: 1034: 8d 90 08 00 00 00 leal 8(%eax), %edx // Initial exec model: // DIS-NEXT: 103a: 65 a1 00 00 00 00 movl %gs:0, %eax // DIS-NEXT: 1040: 03 83 f8 ff ff ff addl -8(%ebx), %eax |