blob: 784d861085587203bdb243782d8c18348f43e8db [file] [log] [blame]
Nick Kledzikc314b462013-04-04 18:59:24 +00001RUN: lld -flavor gnu -target i386 -o %t1 %p/Inputs/section-test.i386 \
2RUN: -static -e baz
Michael J. Spencer1ac382f02013-01-07 08:00:04 +00003RUN: llvm-objdump -section-headers %t1 | FileCheck -check-prefix=OBJDUMP %s
Rafael Espindola13de1562013-04-03 20:53:45 +00004RUN: llvm-readobj -h -s -t %t1 | FileCheck -check-prefix=READOBJ %s
Hemant Kulkarni927bbc22012-09-14 16:11:34 +00005
Michael J. Spencer36b9b8f2013-01-10 22:41:19 +00006OBJDUMP: 0 00000000 0000000000000000
7OBJDUMP: 1 .text 0000000a 0000000000000074 TEXT DATA
8OBJDUMP: 2 .data 00000004 0000000000001000 DATA
9OBJDUMP: 3 .special 00000004 0000000000001004 DATA
10OBJDUMP: 4 .anotherspecial 00000004 0000000000001008 DATA
Shankar Easwaran34ab70f2013-02-07 20:16:12 +000011OBJDUMP: 5 .bss 00000004 000000000000100c BSS
Michael J. Spencerd269a3e2013-01-28 06:11:39 +000012OBJDUMP: 6 .shstrtab {{[0-9a-f]+}} 0000000000000000
13OBJDUMP: 7 .symtab {{[0-9a-f]+}} 0000000000000000
14OBJDUMP: 8 .strtab {{[0-9a-f]+}} 0000000000000000
Hemant Kulkarni927bbc22012-09-14 16:11:34 +000015
Rafael Espindola13de1562013-04-03 20:53:45 +000016READOBJ: Format: ELF32-i386
17READOBJ: Arch: i386
18READOBJ: AddressSize: 32bit
19READOBJ: ElfHeader {
20READOBJ: Ident {
21READOBJ: DataEncoding: LittleEndian (0x1)
22READOBJ: }
23READOBJ: Machine: EM_386
24READOBJ: }
Hemant Kulkarni927bbc22012-09-14 16:11:34 +000025
Rafael Espindola13de1562013-04-03 20:53:45 +000026READOBJ: Sections [
27READOBJ: Section {
28READOBJ: Index: 0
29READOBJ: Name: (0)
30READOBJ: Type: SHT_NULL
31READOBJ: Flags [ (0x0)
32READOBJ: ]
33READOBJ: Address: 0x0
34READOBJ: Size: 0
35READOBJ: }
36READOBJ: Section {
37READOBJ: Index: 1
38READOBJ: Name: .text
39READOBJ: Type: SHT_PROGBITS
40READOBJ: Flags [ (0x6)
41READOBJ: SHF_ALLOC
42READOBJ: SHF_EXECINSTR
43READOBJ: ]
44READOBJ: Address: 0x74
45READOBJ: Size: 10
46READOBJ: AddressAlignment: 4
47READOBJ: }
48READOBJ: Section {
49READOBJ: Index: 2
50READOBJ: Name: .data
51READOBJ: Type: SHT_PROGBITS
52READOBJ: Flags [ (0x3)
53READOBJ: SHF_ALLOC
54READOBJ: SHF_WRITE
55READOBJ: ]
56READOBJ: Address: 0x1000
57READOBJ: Size: 4
58READOBJ: AddressAlignment: 4
59READOBJ: }
60READOBJ: Section {
61READOBJ: Index: 3
62READOBJ: Name: .special
63READOBJ: Type: SHT_PROGBITS
64READOBJ: Flags [ (0x3)
65READOBJ: SHF_ALLOC
66READOBJ: SHF_WRITE
67READOBJ: ]
68READOBJ: Address: 0x1004
69READOBJ: Size: 4
70READOBJ: }
71READOBJ: Section {
72READOBJ: Index: 4
73READOBJ: Name: .anotherspecial
74READOBJ: Type: SHT_PROGBITS
75READOBJ: Flags [ (0x3)
76READOBJ: SHF_ALLOC
77READOBJ: SHF_WRITE
78READOBJ: ]
79READOBJ: Address: 0x1008
80READOBJ: Size: 4
81READOBJ: }
82READOBJ: Section {
83READOBJ: Index: 5
84READOBJ: Name: .bss
85READOBJ: Type: SHT_NOBITS
86READOBJ: Flags [ (0x3)
87READOBJ: SHF_ALLOC
88READOBJ: SHF_WRITE
89READOBJ: ]
90READOBJ: Address: 0x100C
91READOBJ: Size: 4
92READOBJ: }
93READOBJ: Section {
94READOBJ: Index: 6
95READOBJ: Name: .shstrtab
96READOBJ: Type: SHT_STRTAB
97READOBJ: Flags [ (0x0)
98READOBJ: ]
99READOBJ: Address: 0x0
100READOBJ: Link: 0
101READOBJ: AddressAlignment: 1
102READOBJ: }
103READOBJ: Section {
104READOBJ: Index: 7
105READOBJ: Name: .symtab
106READOBJ: Type: SHT_SYMTAB
107READOBJ: Flags [ (0x0)
108READOBJ: ]
109READOBJ: Address: 0x0
110READOBJ: Link: 8
111READOBJ: AddressAlignment: 4
112READOBJ: EntrySize: 16
113READOBJ: }
114READOBJ: Section {
115READOBJ: Index: 8
116READOBJ: Name: .strtab
117READOBJ: Type: SHT_STRTAB
118READOBJ: Flags [ (0x0)
119READOBJ: ]
120READOBJ: Address: 0x0
121READOBJ: }
122READOBJ: ]
123
124READOBJ: Symbols [
125READOBJ: Symbol {
126READOBJ: Name: baz
127READOBJ: Value: 0x74
128READOBJ: Size: 10
129READOBJ: Binding: Global
130READOBJ: Type: Function
131READOBJ: Section: .text
132READOBJ: }
133READOBJ: Symbol {
134READOBJ: Name: y
135READOBJ: Value: 0x1004
136READOBJ: Size: 4
137READOBJ: Binding: Global
138READOBJ: Type: Object
139READOBJ: Section: .special
140READOBJ: }