Don't fetch pointers from a InMemoryStruct.
[oota-llvm.git] / test / tools / llvm-readobj / sections-ext.test
1 RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.coff-i386 \
2 RUN:   | FileCheck %s -check-prefix COFF
3 RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.elf-i386 \
4 RUN:   | FileCheck %s -check-prefix ELF
5 RUN: llvm-readobj -s -st -sr -sd %p/Inputs/trivial.obj.macho-i386 \
6 RUN:   | FileCheck %s -check-prefix MACHO
7
8 COFF:      Sections [
9 COFF-NEXT:   Section {
10 COFF-NEXT:     Number: 1
11 COFF-NEXT:     Name: .text (2E 74 65 78 74 00 00 00)
12 COFF-NEXT:     VirtualSize: 0x0
13 COFF-NEXT:     VirtualAddress: 0x0
14 COFF-NEXT:     RawDataSize: 22
15 COFF-NEXT:     PointerToRawData: 0x64
16 COFF-NEXT:     PointerToRelocations: 0x7A
17 COFF-NEXT:     PointerToLineNumbers: 0x0
18 COFF-NEXT:     RelocationCount: 3
19 COFF-NEXT:     LineNumberCount: 0
20 COFF-NEXT:     Characteristics [ (0x60500020)
21 COFF-NEXT:       IMAGE_SCN_ALIGN_16BYTES (0x500000)
22 COFF-NEXT:       IMAGE_SCN_CNT_CODE (0x20)
23 COFF-NEXT:       IMAGE_SCN_MEM_EXECUTE (0x20000000)
24 COFF-NEXT:       IMAGE_SCN_MEM_READ (0x40000000)
25 COFF-NEXT:     ]
26 COFF-NEXT:     Relocations [
27 COFF-NEXT:       0x4 IMAGE_REL_I386_DIR32 .data
28 COFF-NEXT:       0x9 IMAGE_REL_I386_REL32 _puts
29 COFF-NEXT:       0xE IMAGE_REL_I386_REL32 _SomeOtherFunction
30 COFF-NEXT:     ]
31 COFF-NEXT:     Symbols [
32 COFF-NEXT:       Symbol {
33 COFF-NEXT:         Name: .text
34 COFF-NEXT:         Value: 0
35 COFF-NEXT:         Section: .text (1)
36 COFF-NEXT:         BaseType: Null (0x0)
37 COFF-NEXT:         ComplexType: Null (0x0)
38 COFF-NEXT:         StorageClass: Static (0x3)
39 COFF-NEXT:         AuxSymbolCount: 1
40 COFF-NEXT:         AuxSectionDef {
41 COFF-NEXT:           Length: 22
42 COFF-NEXT:           RelocationCount: 3
43 COFF-NEXT:           LineNumberCount: 0
44 COFF-NEXT:           Checksum: 0x0
45 COFF-NEXT:           Number: 1
46 COFF-NEXT:           Selection: 0x0
47 COFF-NEXT:           Unused: (00 00 00)
48 COFF-NEXT:         }
49 COFF-NEXT:       }
50 COFF-NEXT:       Symbol {
51 COFF-NEXT:         Name: _main
52 COFF-NEXT:         Value: 0
53 COFF-NEXT:         Section: .text (1)
54 COFF-NEXT:         BaseType: Null (0x0)
55 COFF-NEXT:         ComplexType: Function (0x2)
56 COFF-NEXT:         StorageClass: External (0x2)
57 COFF-NEXT:         AuxSymbolCount: 0
58 COFF-NEXT:       }
59 COFF-NEXT:     ]
60 COFF-NEXT:     SectionData (
61 COFF-NEXT:       0000: 50C70424 00000000 E8000000 00E80000  |P..$............|
62 COFF-NEXT:       0010: 000031C0 5AC3                        |..1.Z.|
63 COFF-NEXT:     )
64 COFF-NEXT:   }
65
66 ELF:      Sections [
67 ELF-NEXT:   Section {
68 ELF-NEXT:     Index: 0
69 ELF-NEXT:     Name:  (0)
70 ELF-NEXT:     Type: SHT_NULL (0x0)
71 ELF-NEXT:     Flags [ (0x0)
72 ELF-NEXT:     ]
73 ELF-NEXT:     Address: 0x0
74 ELF-NEXT:     Offset: 0x0
75 ELF-NEXT:     Size: 0
76 ELF-NEXT:     Link: 0
77 ELF-NEXT:     Info: 0
78 ELF-NEXT:     AddressAlignment: 0
79 ELF-NEXT:     EntrySize: 0
80 ELF-NEXT:     Relocations [
81 ELF-NEXT:     ]
82 ELF-NEXT:     Symbols [
83 ELF-NEXT:     ]
84 ELF-NEXT:     SectionData (
85 ELF-NEXT:     )
86 ELF-NEXT:   }
87 ELF-NEXT:   Section {
88 ELF-NEXT:     Index: 1
89 ELF-NEXT:     Name: .text (5)
90 ELF-NEXT:     Type: SHT_PROGBITS (0x1)
91 ELF-NEXT:     Flags [ (0x6)
92 ELF-NEXT:       SHF_ALLOC (0x2)
93 ELF-NEXT:       SHF_EXECINSTR (0x4)
94 ELF-NEXT:     ]
95 ELF-NEXT:     Address: 0x0
96 ELF-NEXT:     Offset: 0x40
97 ELF-NEXT:     Size: 42
98 ELF-NEXT:     Link: 0
99 ELF-NEXT:     Info: 0
100 ELF-NEXT:     AddressAlignment: 16
101 ELF-NEXT:     EntrySize: 0
102 ELF-NEXT:     Relocations [
103 ELF-NEXT:       0xC R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 0x0
104 ELF-NEXT:       0x12 R_386_GOTOFF .L.str 0x0
105 ELF-NEXT:       0x1A R_386_PLT32 puts 0x0
106 ELF-NEXT:       0x1F R_386_PLT32 SomeOtherFunction 0x0
107 ELF-NEXT:     ]
108 ELF-NEXT:     Symbols [
109 ELF-NEXT:       Symbol {
110 ELF-NEXT:         Name: .text (0)
111 ELF-NEXT:         Value: 0x0
112 ELF-NEXT:         Size: 0
113 ELF-NEXT:         Binding: Local (0x0)
114 ELF-NEXT:         Type: Section (0x3)
115 ELF-NEXT:         Other: 0
116 ELF-NEXT:         Section: .text (0x1)
117 ELF-NEXT:       }
118 ELF-NEXT:       Symbol {
119 ELF-NEXT:         Name: main (12)
120 ELF-NEXT:         Value: 0x0
121 ELF-NEXT:         Size: 42
122 ELF-NEXT:         Binding: Global (0x1)
123 ELF-NEXT:         Type: Function (0x2)
124 ELF-NEXT:         Other: 0
125 ELF-NEXT:         Section: .text (0x1)
126 ELF-NEXT:       }
127 ELF-NEXT:     ]
128 ELF-NEXT:     SectionData (
129 ELF-NEXT:       0000: 5383EC08 E8000000 005B81C3 03000000  |S........[......|
130 ELF-NEXT:       0010: 8D830000 00008904 24E8FCFF FFFFE8FC  |........$.......|
131 ELF-NEXT:       0020: FFFFFF31 C083C408 5BC3               |...1....[.|
132 ELF-NEXT:     )
133 ELF-NEXT:   }
134
135 MACHO:      Sections [
136 MACHO-NEXT:   Section {
137 MACHO-NEXT:     Index: 0
138 MACHO-NEXT:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
139 MACHO-NEXT:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
140 MACHO-NEXT:     Address: 0x0
141 MACHO-NEXT:     Size: 0x22
142 MACHO-NEXT:     Offset: 324
143 MACHO-NEXT:     Alignment: 4
144 MACHO-NEXT:     RelocationOffset: 0x174
145 MACHO-NEXT:     RelocationCount: 4
146 MACHO-NEXT:     Type: 0x0
147 MACHO-NEXT:     Attributes [ (0x800004)
148 MACHO-NEXT:       PureInstructions (0x800000)
149 MACHO-NEXT:       SomeInstructions (0x4)
150 MACHO-NEXT:     ]
151 MACHO-NEXT:     Reserved1: 0x0
152 MACHO-NEXT:     Reserved2: 0x0
153 MACHO-NEXT:     Relocations [
154 MACHO-NEXT:       0x18 GENERIC_RELOC_VANILLA _SomeOtherFunction 0x0
155 MACHO-NEXT:       0x13 GENERIC_RELOC_VANILLA _puts 0x0
156 MACHO-NEXT:       0xB GENERIC_RELOC_LOCAL_SECTDIFF _main 0x{{[0-9A-F]+}}
157 MACHO-NEXT:       0x0 GENERIC_RELOC_PAIR _main 0x{{[0-9A-F]+}}
158 MACHO-NEXT:     ]
159 MACHO-NEXT:     Symbols [
160 MACHO-NEXT:       Symbol {
161 MACHO-NEXT:         Name: _main (1)
162 MACHO-NEXT:         Type: 0xF
163 MACHO-NEXT:         Section: __text (0x1)
164 MACHO-NEXT:         RefType: UndefinedNonLazy (0x0)
165 MACHO-NEXT:         Flags [ (0x0)
166 MACHO-NEXT:         ]
167 MACHO-NEXT:         Value: 0x0
168 MACHO-NEXT:       }
169 MACHO-NEXT:     ]
170 MACHO-NEXT:     SectionData (
171 MACHO-NEXT:       0000: 83EC0CE8 00000000 588D801A 00000089  |........X.......|
172 MACHO-NEXT:       0010: 0424E8E9 FFFFFFE8 E4FFFFFF 31C083C4  |.$..........1...|
173 MACHO-NEXT:       0020: 0CC3                                 |..|
174 MACHO-NEXT:     )
175 MACHO-NEXT:   }