summaryrefslogtreecommitdiff
path: root/test/tools/llvm-readobj/sections-ext.test
blob: 3254040c055397c818af85cee6394579dcebd5a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.coff-i386 \
RUN:   | FileCheck %s -check-prefix COFF
RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.elf-i386 \
RUN:   | FileCheck %s -check-prefix ELF
RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-i386 \
RUN:   | FileCheck %s -check-prefix MACHO

COFF:      Sections [
COFF-NEXT:   Section {
COFF-NEXT:     Number: 1
COFF-NEXT:     Name: .text (2E 74 65 78 74 00 00 00)
COFF-NEXT:     VirtualSize: 0x0
COFF-NEXT:     VirtualAddress: 0x0
COFF-NEXT:     RawDataSize: 22
COFF-NEXT:     PointerToRawData: 0x64
COFF-NEXT:     PointerToRelocations: 0x7A
COFF-NEXT:     PointerToLineNumbers: 0x0
COFF-NEXT:     RelocationCount: 3
COFF-NEXT:     LineNumberCount: 0
COFF-NEXT:     Characteristics [ (0x60500020)
COFF-NEXT:       IMAGE_SCN_ALIGN_16BYTES (0x500000)
COFF-NEXT:       IMAGE_SCN_CNT_CODE (0x20)
COFF-NEXT:       IMAGE_SCN_MEM_EXECUTE (0x20000000)
COFF-NEXT:       IMAGE_SCN_MEM_READ (0x40000000)
COFF-NEXT:     ]
COFF-NEXT:     Relocations [
COFF-NEXT:       0x4 IMAGE_REL_I386_DIR32 .data
COFF-NEXT:       0x9 IMAGE_REL_I386_REL32 _puts
COFF-NEXT:       0xE IMAGE_REL_I386_REL32 _SomeOtherFunction
COFF-NEXT:     ]
COFF-NEXT:     Symbols [
COFF-NEXT:       Symbol {
COFF-NEXT:         Name: .text
COFF-NEXT:         Value: 0
COFF-NEXT:         Section: .text (1)
COFF-NEXT:         BaseType: Null (0x0)
COFF-NEXT:         ComplexType: Null (0x0)
COFF-NEXT:         StorageClass: Static (0x3)
COFF-NEXT:         AuxSymbolCount: 1
COFF-NEXT:         AuxSectionDef {
COFF-NEXT:           Length: 22
COFF-NEXT:           RelocationCount: 3
COFF-NEXT:           LineNumberCount: 0
COFF-NEXT:           Checksum: 0x0
COFF-NEXT:           Number: 1
COFF-NEXT:           Selection: 0x0
COFF-NEXT:           Unused: (00 00 00)
COFF-NEXT:         }
COFF-NEXT:       }
COFF-NEXT:       Symbol {
COFF-NEXT:         Name: _main
COFF-NEXT:         Value: 0
COFF-NEXT:         Section: .text (1)
COFF-NEXT:         BaseType: Null (0x0)
COFF-NEXT:         ComplexType: Function (0x2)
COFF-NEXT:         StorageClass: External (0x2)
COFF-NEXT:         AuxSymbolCount: 0
COFF-NEXT:       }
COFF-NEXT:     ]
COFF-NEXT:     SectionData (
COFF-NEXT:       0000: 50C70424 00000000 E8000000 00E80000  |P..$............|
COFF-NEXT:       0010: 000031C0 5AC3                        |..1.Z.|
COFF-NEXT:     )
COFF-NEXT:   }

ELF:      Sections [
ELF-NEXT:   Section {
ELF-NEXT:     Index: 0
ELF-NEXT:     Name:  (0)
ELF-NEXT:     Type: SHT_NULL (0x0)
ELF-NEXT:     Flags [ (0x0)
ELF-NEXT:     ]
ELF-NEXT:     Address: 0x0
ELF-NEXT:     Offset: 0x0
ELF-NEXT:     Size: 0
ELF-NEXT:     Link: 0
ELF-NEXT:     Info: 0
ELF-NEXT:     AddressAlignment: 0
ELF-NEXT:     EntrySize: 0
ELF-NEXT:     Relocations [
ELF-NEXT:     ]
ELF-NEXT:     Symbols [
ELF-NEXT:     ]
ELF-NEXT:     SectionData (
ELF-NEXT:     )
ELF-NEXT:   }
ELF-NEXT:   Section {
ELF-NEXT:     Index: 1
ELF-NEXT:     Name: .text (5)
ELF-NEXT:     Type: SHT_PROGBITS (0x1)
ELF-NEXT:     Flags [ (0x6)
ELF-NEXT:       SHF_ALLOC (0x2)
ELF-NEXT:       SHF_EXECINSTR (0x4)
ELF-NEXT:     ]
ELF-NEXT:     Address: 0x0
ELF-NEXT:     Offset: 0x40
ELF-NEXT:     Size: 42
ELF-NEXT:     Link: 0
ELF-NEXT:     Info: 0
ELF-NEXT:     AddressAlignment: 16
ELF-NEXT:     EntrySize: 0
ELF-NEXT:     Relocations [
ELF-NEXT:       0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
ELF-NEXT:       0x12 R_386_GOTOFF .L.str 0x0
ELF-NEXT:       0x1A R_386_PLT32 puts 0x0
ELF-NEXT:       0x1F R_386_PLT32 SomeOtherFunction 0x0
ELF-NEXT:     ]
ELF-NEXT:     Symbols [
ELF-NEXT:       Symbol {
ELF-NEXT:         Name: .text (0)
ELF-NEXT:         Value: 0x0
ELF-NEXT:         Size: 0
ELF-NEXT:         Binding: Local (0x0)
ELF-NEXT:         Type: Section (0x3)
ELF-NEXT:         Other: 0
ELF-NEXT:         Section: .text (0x1)
ELF-NEXT:       }
ELF-NEXT:       Symbol {
ELF-NEXT:         Name: main (12)
ELF-NEXT:         Value: 0x0
ELF-NEXT:         Size: 42
ELF-NEXT:         Binding: Global (0x1)
ELF-NEXT:         Type: Function (0x2)
ELF-NEXT:         Other: 0
ELF-NEXT:         Section: .text (0x1)
ELF-NEXT:       }
ELF-NEXT:     ]
ELF-NEXT:     SectionData (
ELF-NEXT:       0000: 5383EC08 E8000000 005B81C3 03000000  |S........[......|
ELF-NEXT:       0010: 8D830000 00008904 24E8FCFF FFFFE8FC  |........$.......|
ELF-NEXT:       0020: FFFFFF31 C083C408 5BC3               |...1....[.|
ELF-NEXT:     )
ELF-NEXT:   }

MACHO:      Sections [
MACHO-NEXT:   Section {
MACHO-NEXT:     Index: 0
MACHO-NEXT:     Name: __text (5F 5F 74 65 78 74 00
MACHO-NEXT:     Segment:
MACHO-NEXT:     Address: 0x0
MACHO-NEXT:     Size: 0x22
MACHO-NEXT:     Offset: 324
MACHO-NEXT:     Alignment: 4
MACHO-NEXT:     RelocationOffset: 0x174
MACHO-NEXT:     RelocationCount: 4
MACHO-NEXT:     Type: 0x0
MACHO-NEXT:     Attributes [ (0x800004)
MACHO-NEXT:       PureInstructions (0x800000)
MACHO-NEXT:       SomeInstructions (0x4)
MACHO-NEXT:     ]
MACHO-NEXT:     Reserved1: 0x0
MACHO-NEXT:     Reserved2: 0x0
MACHO-NEXT:     Relocations [
MACHO-NEXT:       0x18 GENERIC_RELOC_VANILLA _SomeOtherFunction 0x0
MACHO-NEXT:       0x13 GENERIC_RELOC_VANILLA _puts 0x0
MACHO-NEXT:       0xB GENERIC_RELOC_LOCAL_SECTDIFF _main 0x{{[0-9A-F]+}}
MACHO-NEXT:       0x0 GENERIC_RELOC_PAIR _main 0x{{[0-9A-F]+}}
MACHO-NEXT:     ]
MACHO-NEXT:     Symbols [
MACHO-NEXT:       Symbol {
MACHO-NEXT:         Name: _main (1)
MACHO-NEXT:         Type: 0xF
MACHO-NEXT:         Section: __text (0x1)
MACHO-NEXT:         RefType: UndefinedNonLazy (0x0)
MACHO-NEXT:         Flags [ (0x0)
MACHO-NEXT:         ]
MACHO-NEXT:         Value: 0x0
MACHO-NEXT:       }
MACHO-NEXT:     ]
MACHO-NEXT:     SectionData (
MACHO-NEXT:       0000: 83EC0CE8 00000000 588D801A 00000089  |........X.......|
MACHO-NEXT:       0010: 0424E8E9 FFFFFFE8 E4FFFFFF 31C083C4  |.$..........1...|
MACHO-NEXT:       0020: 0CC3                                 |..|
MACHO-NEXT:     )
MACHO-NEXT:   }