[ELF] Make SyntheticSection parameter order match InputSection
[llvm-project.git] / lld / test / ELF / tls-offset.s
blobd52e2be657b2c75d4028b2ca983bea88ad8db205
1 // REQUIRES: x86
2 // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
3 // RUN: ld.lld %t -o %tout
4 // RUN: llvm-readobj -S %tout | FileCheck --check-prefixes=CHECK,CHECK1 %s
5 // RUN: echo "SECTIONS { \
6 // RUN: . = 0x201000; \
7 // RUN: .text : { *(.text) } \
8 // RUN: . = 0x202000; \
9 // RUN: .tdata : { *(.tdata) } \
10 // RUN: .tbss : { *(.tbss) } \
11 // RUN: .data.rel.ro : { *(.data.rel.ro) } \
12 // RUN: }" > %t.script
13 // RUN: ld.lld -T %t.script %t -o %tout2
14 // RUN: llvm-readobj -S %tout2 | FileCheck --check-prefixes=CHECK,CHECK2 %s
15 .global _start
16 _start:
17 retq
19 .section .tdata,"awT",@progbits
20 .align 4
21 .long 42
23 .section .tbss,"awT",@nobits
24 .align 16
25 .zero 16
27 .section .data.rel.ro,"aw",@progbits
28 .long 1
31 // Test that .tbss doesn't show up in the offset or in the address. If this
32 // gets out of sync what we get a runtime is different from what the section
33 // table says.
35 // CHECK: Name: .tdata
36 // CHECK-NEXT: Type: SHT_PROGBITS
37 // CHECK-NEXT: Flags [
38 // CHECK-NEXT: SHF_ALLOC
39 // CHECK-NEXT: SHF_TLS
40 // CHECK-NEXT: SHF_WRITE
41 // CHECK-NEXT: ]
42 // CHECK1-NEXT: Address: 0x2021D0
43 // CHECK1-NEXT: Offset: 0x1D0
44 // CHECK2-NEXT: Address: 0x202000
45 // CHECK2-NEXT: Offset: 0x2000
46 // CHECK-NEXT: Size: 4
48 // CHECK: Name: .tbss
49 // CHECK-NEXT: Type: SHT_NOBITS
50 // CHECK-NEXT: Flags [
51 // CHECK-NEXT: SHF_ALLOC
52 // CHECK-NEXT: SHF_TLS
53 // CHECK-NEXT: SHF_WRITE
54 // CHECK-NEXT: ]
55 // CHECK1-NEXT: Address: 0x2021E0
56 // CHECK1-NEXT: Offset: 0x1D4
57 // CHECK2-NEXT: Address: 0x202010
58 // CHECK2-NEXT: Offset: 0x2004
59 // CHECK-NEXT: Size: 16
61 // CHECK: Name: .data.rel.ro
62 // CHECK-NEXT: Type: SHT_PROGBITS
63 // CHECK-NEXT: Flags [
64 // CHECK-NEXT: SHF_ALLOC
65 // CHECK-NEXT: SHF_WRITE
66 // CHECK-NEXT: ]
67 // CHECK1-NEXT: Address: 0x2021D4
68 // CHECK1-NEXT: Offset: 0x1D4
69 // CHECK2-NEXT: Address: 0x202004
70 // CHECK2-NEXT: Offset: 0x2004
71 // CHECK-NEXT: Size: 4