forked from OSchip/llvm-project
177 lines
5.8 KiB
Plaintext
177 lines
5.8 KiB
Plaintext
# This test verify if external TLS non initialized variables (tbss) are
|
|
# accounted in TBSS segment size
|
|
|
|
# The input file 'test/elf/Inputs/tls-tbss-size.yaml' declares:
|
|
#
|
|
# __thread int t0;
|
|
# __thread int t1;
|
|
# __thread int t2;
|
|
# __thread int t3;
|
|
#
|
|
# And the 'test/elf/tls-tbss-size.test' defines:
|
|
#
|
|
# __thread int t4;
|
|
# __thread int t5;
|
|
# __thread int t6;
|
|
# __thread int t7;
|
|
#
|
|
# __thread int t8 = 3;
|
|
# __thread int t9 = 4;
|
|
# __thread int t10 = 5;
|
|
# __thread int t11 = 6;
|
|
|
|
#RUN: yaml2obj -format=elf -o=%t-t1.o %p/Inputs/tls-tbss-size.yaml
|
|
#RUN: yaml2obj -format=elf -o=%t-t0.o %s
|
|
#RUN: lld -flavor gnu -target x86_64-linux --noinhibit-exec -o %t.exe %t-t0.o %t-t1.o
|
|
#RUN: llvm-readobj --sections %t.exe | FileCheck %s
|
|
|
|
#CHECK: Sections [
|
|
#CHECK: Section {
|
|
#CHECK: Index: 9
|
|
#CHECK: Name: .tdata (71)
|
|
#CHECK: Size: 16
|
|
#CHECK: }
|
|
#CHECK: Section {
|
|
#CHECK: Index: 10
|
|
#CHECK: Name: .tbss (78)
|
|
#CHECK: Size: 32
|
|
#CHECK: }
|
|
|
|
---
|
|
FileHeader:
|
|
Class: ELFCLASS64
|
|
Data: ELFDATA2LSB
|
|
OSABI: ELFOSABI_GNU
|
|
Type: ET_REL
|
|
Machine: EM_X86_64
|
|
Sections:
|
|
- Name: .text
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
|
|
AddressAlign: 0x0000000000000010
|
|
Content: 488B050000000064C70001000000488B050000000064C70002000000488B050000000064C70003000000488B050000000064C7000400000064C70425000000000500000064C70425000000000600000064C70425000000000700000064C70425000000000800000031C0C3
|
|
- Name: .rela.text
|
|
Type: SHT_RELA
|
|
Link: .symtab
|
|
AddressAlign: 0x0000000000000008
|
|
Info: .text
|
|
Relocations:
|
|
- Offset: 0x0000000000000003
|
|
Symbol: t0
|
|
Type: R_X86_64_GOTTPOFF
|
|
Addend: -4
|
|
- Offset: 0x0000000000000011
|
|
Symbol: t1
|
|
Type: R_X86_64_GOTTPOFF
|
|
Addend: -4
|
|
- Offset: 0x000000000000001F
|
|
Symbol: t2
|
|
Type: R_X86_64_GOTTPOFF
|
|
Addend: -4
|
|
- Offset: 0x000000000000002D
|
|
Symbol: t3
|
|
Type: R_X86_64_GOTTPOFF
|
|
Addend: -4
|
|
- Offset: 0x000000000000003C
|
|
Symbol: t4
|
|
Type: R_X86_64_TPOFF32
|
|
- Offset: 0x0000000000000048
|
|
Symbol: t5
|
|
Type: R_X86_64_TPOFF32
|
|
- Offset: 0x0000000000000054
|
|
Symbol: t6
|
|
Type: R_X86_64_TPOFF32
|
|
- Offset: 0x0000000000000060
|
|
Symbol: t7
|
|
Type: R_X86_64_TPOFF32
|
|
- Name: .data
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: ''
|
|
- Name: .bss
|
|
Type: SHT_NOBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000004
|
|
- Name: .tdata
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC, SHF_TLS ]
|
|
AddressAlign: 0x0000000000000004
|
|
Content: '03000000040000000500000006000000'
|
|
- Name: .tbss
|
|
Type: SHT_NOBITS
|
|
Flags: [ SHF_WRITE, SHF_ALLOC, SHF_TLS ]
|
|
AddressAlign: 0x0000000000000004
|
|
Size: 16
|
|
- Name: .note.GNU-stack
|
|
Type: SHT_PROGBITS
|
|
AddressAlign: 0x0000000000000001
|
|
Content: ''
|
|
- Name: .eh_frame
|
|
Type: SHT_PROGBITS
|
|
Flags: [ SHF_ALLOC ]
|
|
AddressAlign: 0x0000000000000008
|
|
Content: 1400000000000000017A5200017810011B0C070890010000140000001C000000000000006B0000000000000000000000
|
|
Symbols:
|
|
Local:
|
|
- Name: .tbss
|
|
Type: STT_TLS
|
|
Section: .tbss
|
|
- Name: .tdata
|
|
Type: STT_TLS
|
|
Section: .tdata
|
|
- Type: STT_SECTION
|
|
Section: .text
|
|
Global:
|
|
- Name: main
|
|
Type: STT_FUNC
|
|
Section: .text
|
|
Size: 0x000000000000006B
|
|
- Name: t0
|
|
Type: STT_TLS
|
|
- Name: t1
|
|
Type: STT_TLS
|
|
- Name: t10
|
|
Type: STT_TLS
|
|
Section: .tdata
|
|
Value: 0x0000000000000008
|
|
Size: 0x0000000000000004
|
|
- Name: t11
|
|
Type: STT_TLS
|
|
Section: .tdata
|
|
Value: 0x000000000000000C
|
|
Size: 0x0000000000000004
|
|
- Name: t2
|
|
Type: STT_TLS
|
|
- Name: t3
|
|
Type: STT_TLS
|
|
- Name: t4
|
|
Type: STT_TLS
|
|
Section: .tbss
|
|
Size: 0x0000000000000004
|
|
- Name: t5
|
|
Type: STT_TLS
|
|
Section: .tbss
|
|
Value: 0x0000000000000004
|
|
Size: 0x0000000000000004
|
|
- Name: t6
|
|
Type: STT_TLS
|
|
Section: .tbss
|
|
Value: 0x0000000000000008
|
|
Size: 0x0000000000000004
|
|
- Name: t7
|
|
Type: STT_TLS
|
|
Section: .tbss
|
|
Value: 0x000000000000000C
|
|
Size: 0x0000000000000004
|
|
- Name: t8
|
|
Type: STT_TLS
|
|
Section: .tdata
|
|
Size: 0x0000000000000004
|
|
- Name: t9
|
|
Type: STT_TLS
|
|
Section: .tdata
|
|
Value: 0x0000000000000004
|
|
Size: 0x0000000000000004
|
|
...
|