| ... | ... | @@ -1,7 +1,12 @@ |
| 1 | 1 | ; RUN: llc -filetype=obj %p/Inputs/hello.ll -o %t.hello.o |
| 2 | 2 | ; RUN: llc -filetype=obj %s -o %t.o |
| 3 | 3 | ; RUN: wasm-ld -r -o %t.wasm %t.hello.o %t.o |
| 4 | | ; RUN: obj2yaml %t.wasm | FileCheck %s |
| 4 | ; RUN: obj2yaml %t.wasm | FileCheck %s --check-prefixes CHECK,NORMAL |
| 5 | |
| 6 | ; RUN: llc -filetype=obj %p/Inputs/hello.ll -o %t.hello.bm.o -mattr=+bulk-memory |
| 7 | ; RUN: llc -filetype=obj %s -o %t.bm.o -mattr=+bulk-memory |
| 8 | ; RUN: wasm-ld -r -o %t.mt.wasm %t.hello.bm.o %t.bm.o --shared-memory --max-memory=131072 |
| 9 | ; RUN: obj2yaml %t.mt.wasm | FileCheck %s --check-prefixes CHECK,SHARED |
| 5 | 10 | |
| 6 | 11 | target triple = "wasm32-unknown-unknown" |
| 7 | 12 | |
| ... | ... | @@ -70,13 +75,18 @@ entry: |
| 70 | 75 | ; CHECK-NEXT: Maximum: 0x00000004 |
| 71 | 76 | ; CHECK-NEXT: - Type: MEMORY |
| 72 | 77 | ; CHECK-NEXT: Memories: |
| 73 | | ; CHECK-NEXT: - Initial: 0x00000001 |
| 78 | ; NORMAL-NEXT: - Initial: 0x00000001 |
| 79 | ; SHARED-NEXT: - Flags: [ HAS_MAX, IS_SHARED ] |
| 80 | ; SHARED-NEXT: Initial: 0x00000001 |
| 81 | ; SHARED-NEXT: Maximum: 0x00000002 |
| 74 | 82 | ; CHECK-NEXT: - Type: ELEM |
| 75 | 83 | ; CHECK-NEXT: Segments: |
| 76 | 84 | ; CHECK-NEXT: - Offset: |
| 77 | 85 | ; CHECK-NEXT: Opcode: I32_CONST |
| 78 | 86 | ; CHECK-NEXT: Value: 1 |
| 79 | 87 | ; CHECK-NEXT: Functions: [ 4, 1, 2 ] |
| 88 | ; SHARED-NEXT: - Type: DATACOUNT |
| 89 | ; SHARED-NEXT: Count: 6 |
| 80 | 90 | ; CHECK-NEXT: - Type: CODE |
| 81 | 91 | ; CHECK-NEXT: Relocations: |
| 82 | 92 | ; CHECK-NEXT: - Type: R_WASM_MEMORY_ADDR_SLEB |
| ... | ... | @@ -104,176 +114,176 @@ entry: |
| 104 | 114 | ; CHECK-NEXT: - Index: 5 |
| 105 | 115 | ; CHECK-NEXT: Locals: |
| 106 | 116 | ; CHECK-NEXT: Body: 419C808080000B |
| 107 | | ; CHECK-NEXT: - Type: DATA |
| 108 | | ; CHECK-NEXT: Relocations: |
| 109 | | ; CHECK-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 110 | | ; CHECK-NEXT: Index: 3 |
| 111 | | ; CHECK-NEXT: Offset: 0x00000012 |
| 112 | | ; CHECK-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 113 | | ; CHECK-NEXT: Index: 4 |
| 114 | | ; CHECK-NEXT: Offset: 0x0000001B |
| 115 | | ; CHECK-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 116 | | ; CHECK-NEXT: Index: 5 |
| 117 | | ; CHECK-NEXT: Offset: 0x00000024 |
| 118 | | ; CHECK-NEXT: - Type: R_WASM_MEMORY_ADDR_I32 |
| 119 | | ; CHECK-NEXT: Index: 12 |
| 120 | | ; CHECK-NEXT: Offset: 0x0000002D |
| 121 | | ; CHECK-NEXT: Segments: |
| 122 | | ; CHECK-NEXT: - SectionOffset: 6 |
| 123 | | ; CHECK-NEXT: InitFlags: 0 |
| 124 | | ; CHECK-NEXT: Offset: |
| 125 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 126 | | ; CHECK-NEXT: Value: 0 |
| 127 | | ; CHECK-NEXT: Content: 68656C6C6F0A00 |
| 128 | | ; CHECK-NEXT: - SectionOffset: 18 |
| 129 | | ; CHECK-NEXT: InitFlags: 0 |
| 130 | | ; CHECK-NEXT: Offset: |
| 131 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 132 | | ; CHECK-NEXT: Value: 8 |
| 133 | | ; CHECK-NEXT: Content: '01000000' |
| 134 | | ; CHECK-NEXT: - SectionOffset: 27 |
| 135 | | ; CHECK-NEXT: InitFlags: 0 |
| 136 | | ; CHECK-NEXT: Offset: |
| 137 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 138 | | ; CHECK-NEXT: Value: 12 |
| 139 | | ; CHECK-NEXT: Content: '02000000' |
| 140 | | ; CHECK-NEXT: - SectionOffset: 36 |
| 141 | | ; CHECK-NEXT: InitFlags: 0 |
| 142 | | ; CHECK-NEXT: Offset: |
| 143 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 144 | | ; CHECK-NEXT: Value: 16 |
| 145 | | ; CHECK-NEXT: Content: '03000000' |
| 146 | | ; CHECK-NEXT: - SectionOffset: 45 |
| 147 | | ; CHECK-NEXT: InitFlags: 0 |
| 148 | | ; CHECK-NEXT: Offset: |
| 149 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 150 | | ; CHECK-NEXT: Value: 24 |
| 151 | | ; CHECK-NEXT: Content: '00000000' |
| 152 | | ; CHECK-NEXT: - SectionOffset: 54 |
| 153 | | ; CHECK-NEXT: InitFlags: 0 |
| 154 | | ; CHECK-NEXT: Offset: |
| 155 | | ; CHECK-NEXT: Opcode: I32_CONST |
| 156 | | ; CHECK-NEXT: Value: 28 |
| 157 | | ; CHECK-NEXT: Content: '616263' |
| 158 | | ; CHECK-NEXT: - Type: CUSTOM |
| 159 | | ; CHECK-NEXT: Name: linking |
| 160 | | ; CHECK-NEXT: Version: 2 |
| 161 | | ; CHECK-NEXT: SymbolTable: |
| 162 | | ; CHECK-NEXT: - Index: 0 |
| 163 | | ; CHECK-NEXT: Kind: FUNCTION |
| 164 | | ; CHECK-NEXT: Name: hello |
| 165 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 166 | | ; CHECK-NEXT: Function: 3 |
| 167 | | ; CHECK-NEXT: - Index: 1 |
| 168 | | ; CHECK-NEXT: Kind: DATA |
| 169 | | ; CHECK-NEXT: Name: hello_str |
| 170 | | ; CHECK-NEXT: Flags: [ ] |
| 171 | | ; CHECK-NEXT: Segment: 0 |
| 172 | | ; CHECK-NEXT: Size: 7 |
| 173 | | ; CHECK-NEXT: - Index: 2 |
| 174 | | ; CHECK-NEXT: Kind: FUNCTION |
| 175 | | ; CHECK-NEXT: Name: puts |
| 176 | | ; CHECK-NEXT: Flags: [ UNDEFINED ] |
| 177 | | ; CHECK-NEXT: Function: 0 |
| 178 | | ; CHECK-NEXT: - Index: 3 |
| 179 | | ; CHECK-NEXT: Kind: FUNCTION |
| 180 | | ; CHECK-NEXT: Name: my_func |
| 181 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 182 | | ; CHECK-NEXT: Function: 4 |
| 183 | | ; CHECK-NEXT: - Index: 4 |
| 184 | | ; CHECK-NEXT: Kind: FUNCTION |
| 185 | | ; CHECK-NEXT: Name: foo_import |
| 186 | | ; CHECK-NEXT: Flags: [ UNDEFINED ] |
| 187 | | ; CHECK-NEXT: Function: 1 |
| 188 | | ; CHECK-NEXT: - Index: 5 |
| 189 | | ; CHECK-NEXT: Kind: FUNCTION |
| 190 | | ; CHECK-NEXT: Name: bar_import |
| 191 | | ; CHECK-NEXT: Flags: [ BINDING_WEAK, UNDEFINED ] |
| 192 | | ; CHECK-NEXT: Function: 2 |
| 193 | | ; CHECK-NEXT: - Index: 6 |
| 194 | | ; CHECK-NEXT: Kind: FUNCTION |
| 195 | | ; CHECK-NEXT: Name: func_comdat |
| 196 | | ; CHECK-NEXT: Flags: [ BINDING_WEAK ] |
| 197 | | ; CHECK-NEXT: Function: 5 |
| 198 | | ; CHECK-NEXT: - Index: 7 |
| 199 | | ; CHECK-NEXT: Kind: DATA |
| 200 | | ; CHECK-NEXT: Name: data_comdat |
| 201 | | ; CHECK-NEXT: Flags: [ BINDING_WEAK ] |
| 202 | | ; CHECK-NEXT: Segment: 5 |
| 203 | | ; CHECK-NEXT: Size: 3 |
| 204 | | ; CHECK-NEXT: - Index: 8 |
| 205 | | ; CHECK-NEXT: Kind: DATA |
| 206 | | ; CHECK-NEXT: Name: func_addr1 |
| 207 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 208 | | ; CHECK-NEXT: Segment: 1 |
| 209 | | ; CHECK-NEXT: Size: 4 |
| 210 | | ; CHECK-NEXT: - Index: 9 |
| 211 | | ; CHECK-NEXT: Kind: DATA |
| 212 | | ; CHECK-NEXT: Name: func_addr2 |
| 213 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 214 | | ; CHECK-NEXT: Segment: 2 |
| 215 | | ; CHECK-NEXT: Size: 4 |
| 216 | | ; CHECK-NEXT: - Index: 10 |
| 217 | | ; CHECK-NEXT: Kind: DATA |
| 218 | | ; CHECK-NEXT: Name: func_addr3 |
| 219 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 220 | | ; CHECK-NEXT: Segment: 3 |
| 221 | | ; CHECK-NEXT: Size: 4 |
| 222 | | ; CHECK-NEXT: - Index: 11 |
| 223 | | ; CHECK-NEXT: Kind: DATA |
| 224 | | ; CHECK-NEXT: Name: data_addr1 |
| 225 | | ; CHECK-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 226 | | ; CHECK-NEXT: Segment: 4 |
| 227 | | ; CHECK-NEXT: Size: 4 |
| 228 | | ; CHECK-NEXT: - Index: 12 |
| 229 | | ; CHECK-NEXT: Kind: DATA |
| 230 | | ; CHECK-NEXT: Name: data_import |
| 231 | | ; CHECK-NEXT: Flags: [ UNDEFINED ] |
| 232 | | ; CHECK-NEXT: SegmentInfo: |
| 233 | | ; CHECK-NEXT: - Index: 0 |
| 234 | | ; CHECK-NEXT: Name: .rodata.hello_str |
| 235 | | ; CHECK-NEXT: Alignment: 0 |
| 236 | | ; CHECK-NEXT: Flags: [ ] |
| 237 | | ; CHECK-NEXT: - Index: 1 |
| 238 | | ; CHECK-NEXT: Name: .data.func_addr1 |
| 239 | | ; CHECK-NEXT: Alignment: 2 |
| 240 | | ; CHECK-NEXT: Flags: [ ] |
| 241 | | ; CHECK-NEXT: - Index: 2 |
| 242 | | ; CHECK-NEXT: Name: .data.func_addr2 |
| 243 | | ; CHECK-NEXT: Alignment: 2 |
| 244 | | ; CHECK-NEXT: Flags: [ ] |
| 245 | | ; CHECK-NEXT: - Index: 3 |
| 246 | | ; CHECK-NEXT: Name: .data.func_addr3 |
| 247 | | ; CHECK-NEXT: Alignment: 2 |
| 248 | | ; CHECK-NEXT: Flags: [ ] |
| 249 | | ; CHECK-NEXT: - Index: 4 |
| 250 | | ; CHECK-NEXT: Name: .data.data_addr1 |
| 251 | | ; CHECK-NEXT: Alignment: 3 |
| 252 | | ; CHECK-NEXT: Flags: [ ] |
| 253 | | ; CHECK-NEXT: - Index: 5 |
| 254 | | ; CHECK-NEXT: Name: .rodata.data_comdat |
| 255 | | ; CHECK-NEXT: Alignment: 0 |
| 256 | | ; CHECK-NEXT: Flags: [ ] |
| 257 | | ; CHECK-NEXT: Comdats: |
| 258 | | ; CHECK-NEXT: - Name: func_comdat |
| 259 | | ; CHECK-NEXT: Entries: |
| 260 | | ; CHECK-NEXT: - Kind: FUNCTION |
| 261 | | ; CHECK-NEXT: Index: 5 |
| 262 | | ; CHECK-NEXT: - Kind: DATA |
| 263 | | ; CHECK-NEXT: Index: 5 |
| 264 | | ; CHECK-NEXT: - Type: CUSTOM |
| 265 | | ; CHECK-NEXT: Name: name |
| 266 | | ; CHECK-NEXT: FunctionNames: |
| 267 | | ; CHECK-NEXT: - Index: 0 |
| 268 | | ; CHECK-NEXT: Name: puts |
| 269 | | ; CHECK-NEXT: - Index: 1 |
| 270 | | ; CHECK-NEXT: Name: foo_import |
| 271 | | ; CHECK-NEXT: - Index: 2 |
| 272 | | ; CHECK-NEXT: Name: bar_import |
| 273 | | ; CHECK-NEXT: - Index: 3 |
| 274 | | ; CHECK-NEXT: Name: hello |
| 275 | | ; CHECK-NEXT: - Index: 4 |
| 276 | | ; CHECK-NEXT: Name: my_func |
| 277 | | ; CHECK-NEXT: - Index: 5 |
| 278 | | ; CHECK-NEXT: Name: func_comdat |
| 279 | | ; CHECK-NEXT: ... |
| 117 | ; NORMAL-NEXT: - Type: DATA |
| 118 | ; NORMAL-NEXT: Relocations: |
| 119 | ; NORMAL-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 120 | ; NORMAL-NEXT: Index: 3 |
| 121 | ; NORMAL-NEXT: Offset: 0x00000012 |
| 122 | ; NORMAL-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 123 | ; NORMAL-NEXT: Index: 4 |
| 124 | ; NORMAL-NEXT: Offset: 0x0000001B |
| 125 | ; NORMAL-NEXT: - Type: R_WASM_TABLE_INDEX_I32 |
| 126 | ; NORMAL-NEXT: Index: 5 |
| 127 | ; NORMAL-NEXT: Offset: 0x00000024 |
| 128 | ; NORMAL-NEXT: - Type: R_WASM_MEMORY_ADDR_I32 |
| 129 | ; NORMAL-NEXT: Index: 12 |
| 130 | ; NORMAL-NEXT: Offset: 0x0000002D |
| 131 | ; NORMAL-NEXT: Segments: |
| 132 | ; NORMAL-NEXT: - SectionOffset: 6 |
| 133 | ; NORMAL-NEXT: InitFlags: 0 |
| 134 | ; NORMAL-NEXT: Offset: |
| 135 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 136 | ; NORMAL-NEXT: Value: 0 |
| 137 | ; NORMAL-NEXT: Content: 68656C6C6F0A00 |
| 138 | ; NORMAL-NEXT: - SectionOffset: 18 |
| 139 | ; NORMAL-NEXT: InitFlags: 0 |
| 140 | ; NORMAL-NEXT: Offset: |
| 141 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 142 | ; NORMAL-NEXT: Value: 8 |
| 143 | ; NORMAL-NEXT: Content: '01000000' |
| 144 | ; NORMAL-NEXT: - SectionOffset: 27 |
| 145 | ; NORMAL-NEXT: InitFlags: 0 |
| 146 | ; NORMAL-NEXT: Offset: |
| 147 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 148 | ; NORMAL-NEXT: Value: 12 |
| 149 | ; NORMAL-NEXT: Content: '02000000' |
| 150 | ; NORMAL-NEXT: - SectionOffset: 36 |
| 151 | ; NORMAL-NEXT: InitFlags: 0 |
| 152 | ; NORMAL-NEXT: Offset: |
| 153 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 154 | ; NORMAL-NEXT: Value: 16 |
| 155 | ; NORMAL-NEXT: Content: '03000000' |
| 156 | ; NORMAL-NEXT: - SectionOffset: 45 |
| 157 | ; NORMAL-NEXT: InitFlags: 0 |
| 158 | ; NORMAL-NEXT: Offset: |
| 159 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 160 | ; NORMAL-NEXT: Value: 24 |
| 161 | ; NORMAL-NEXT: Content: '00000000' |
| 162 | ; NORMAL-NEXT: - SectionOffset: 54 |
| 163 | ; NORMAL-NEXT: InitFlags: 0 |
| 164 | ; NORMAL-NEXT: Offset: |
| 165 | ; NORMAL-NEXT: Opcode: I32_CONST |
| 166 | ; NORMAL-NEXT: Value: 28 |
| 167 | ; NORMAL-NEXT: Content: '616263' |
| 168 | ; NORMAL-NEXT: - Type: CUSTOM |
| 169 | ; NORMAL-NEXT: Name: linking |
| 170 | ; NORMAL-NEXT: Version: 2 |
| 171 | ; NORMAL-NEXT: SymbolTable: |
| 172 | ; NORMAL-NEXT: - Index: 0 |
| 173 | ; NORMAL-NEXT: Kind: FUNCTION |
| 174 | ; NORMAL-NEXT: Name: hello |
| 175 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 176 | ; NORMAL-NEXT: Function: 3 |
| 177 | ; NORMAL-NEXT: - Index: 1 |
| 178 | ; NORMAL-NEXT: Kind: DATA |
| 179 | ; NORMAL-NEXT: Name: hello_str |
| 180 | ; NORMAL-NEXT: Flags: [ ] |
| 181 | ; NORMAL-NEXT: Segment: 0 |
| 182 | ; NORMAL-NEXT: Size: 7 |
| 183 | ; NORMAL-NEXT: - Index: 2 |
| 184 | ; NORMAL-NEXT: Kind: FUNCTION |
| 185 | ; NORMAL-NEXT: Name: puts |
| 186 | ; NORMAL-NEXT: Flags: [ UNDEFINED ] |
| 187 | ; NORMAL-NEXT: Function: 0 |
| 188 | ; NORMAL-NEXT: - Index: 3 |
| 189 | ; NORMAL-NEXT: Kind: FUNCTION |
| 190 | ; NORMAL-NEXT: Name: my_func |
| 191 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 192 | ; NORMAL-NEXT: Function: 4 |
| 193 | ; NORMAL-NEXT: - Index: 4 |
| 194 | ; NORMAL-NEXT: Kind: FUNCTION |
| 195 | ; NORMAL-NEXT: Name: foo_import |
| 196 | ; NORMAL-NEXT: Flags: [ UNDEFINED ] |
| 197 | ; NORMAL-NEXT: Function: 1 |
| 198 | ; NORMAL-NEXT: - Index: 5 |
| 199 | ; NORMAL-NEXT: Kind: FUNCTION |
| 200 | ; NORMAL-NEXT: Name: bar_import |
| 201 | ; NORMAL-NEXT: Flags: [ BINDING_WEAK, UNDEFINED ] |
| 202 | ; NORMAL-NEXT: Function: 2 |
| 203 | ; NORMAL-NEXT: - Index: 6 |
| 204 | ; NORMAL-NEXT: Kind: FUNCTION |
| 205 | ; NORMAL-NEXT: Name: func_comdat |
| 206 | ; NORMAL-NEXT: Flags: [ BINDING_WEAK ] |
| 207 | ; NORMAL-NEXT: Function: 5 |
| 208 | ; NORMAL-NEXT: - Index: 7 |
| 209 | ; NORMAL-NEXT: Kind: DATA |
| 210 | ; NORMAL-NEXT: Name: data_comdat |
| 211 | ; NORMAL-NEXT: Flags: [ BINDING_WEAK ] |
| 212 | ; NORMAL-NEXT: Segment: 5 |
| 213 | ; NORMAL-NEXT: Size: 3 |
| 214 | ; NORMAL-NEXT: - Index: 8 |
| 215 | ; NORMAL-NEXT: Kind: DATA |
| 216 | ; NORMAL-NEXT: Name: func_addr1 |
| 217 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 218 | ; NORMAL-NEXT: Segment: 1 |
| 219 | ; NORMAL-NEXT: Size: 4 |
| 220 | ; NORMAL-NEXT: - Index: 9 |
| 221 | ; NORMAL-NEXT: Kind: DATA |
| 222 | ; NORMAL-NEXT: Name: func_addr2 |
| 223 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 224 | ; NORMAL-NEXT: Segment: 2 |
| 225 | ; NORMAL-NEXT: Size: 4 |
| 226 | ; NORMAL-NEXT: - Index: 10 |
| 227 | ; NORMAL-NEXT: Kind: DATA |
| 228 | ; NORMAL-NEXT: Name: func_addr3 |
| 229 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 230 | ; NORMAL-NEXT: Segment: 3 |
| 231 | ; NORMAL-NEXT: Size: 4 |
| 232 | ; NORMAL-NEXT: - Index: 11 |
| 233 | ; NORMAL-NEXT: Kind: DATA |
| 234 | ; NORMAL-NEXT: Name: data_addr1 |
| 235 | ; NORMAL-NEXT: Flags: [ VISIBILITY_HIDDEN ] |
| 236 | ; NORMAL-NEXT: Segment: 4 |
| 237 | ; NORMAL-NEXT: Size: 4 |
| 238 | ; NORMAL-NEXT: - Index: 12 |
| 239 | ; NORMAL-NEXT: Kind: DATA |
| 240 | ; NORMAL-NEXT: Name: data_import |
| 241 | ; NORMAL-NEXT: Flags: [ UNDEFINED ] |
| 242 | ; NORMAL-NEXT: SegmentInfo: |
| 243 | ; NORMAL-NEXT: - Index: 0 |
| 244 | ; NORMAL-NEXT: Name: .rodata.hello_str |
| 245 | ; NORMAL-NEXT: Alignment: 0 |
| 246 | ; NORMAL-NEXT: Flags: [ ] |
| 247 | ; NORMAL-NEXT: - Index: 1 |
| 248 | ; NORMAL-NEXT: Name: .data.func_addr1 |
| 249 | ; NORMAL-NEXT: Alignment: 2 |
| 250 | ; NORMAL-NEXT: Flags: [ ] |
| 251 | ; NORMAL-NEXT: - Index: 2 |
| 252 | ; NORMAL-NEXT: Name: .data.func_addr2 |
| 253 | ; NORMAL-NEXT: Alignment: 2 |
| 254 | ; NORMAL-NEXT: Flags: [ ] |
| 255 | ; NORMAL-NEXT: - Index: 3 |
| 256 | ; NORMAL-NEXT: Name: .data.func_addr3 |
| 257 | ; NORMAL-NEXT: Alignment: 2 |
| 258 | ; NORMAL-NEXT: Flags: [ ] |
| 259 | ; NORMAL-NEXT: - Index: 4 |
| 260 | ; NORMAL-NEXT: Name: .data.data_addr1 |
| 261 | ; NORMAL-NEXT: Alignment: 3 |
| 262 | ; NORMAL-NEXT: Flags: [ ] |
| 263 | ; NORMAL-NEXT: - Index: 5 |
| 264 | ; NORMAL-NEXT: Name: .rodata.data_comdat |
| 265 | ; NORMAL-NEXT: Alignment: 0 |
| 266 | ; NORMAL-NEXT: Flags: [ ] |
| 267 | ; NORMAL-NEXT: Comdats: |
| 268 | ; NORMAL-NEXT: - Name: func_comdat |
| 269 | ; NORMAL-NEXT: Entries: |
| 270 | ; NORMAL-NEXT: - Kind: FUNCTION |
| 271 | ; NORMAL-NEXT: Index: 5 |
| 272 | ; NORMAL-NEXT: - Kind: DATA |
| 273 | ; NORMAL-NEXT: Index: 5 |
| 274 | ; NORMAL-NEXT: - Type: CUSTOM |
| 275 | ; NORMAL-NEXT: Name: name |
| 276 | ; NORMAL-NEXT: FunctionNames: |
| 277 | ; NORMAL-NEXT: - Index: 0 |
| 278 | ; NORMAL-NEXT: Name: puts |
| 279 | ; NORMAL-NEXT: - Index: 1 |
| 280 | ; NORMAL-NEXT: Name: foo_import |
| 281 | ; NORMAL-NEXT: - Index: 2 |
| 282 | ; NORMAL-NEXT: Name: bar_import |
| 283 | ; NORMAL-NEXT: - Index: 3 |
| 284 | ; NORMAL-NEXT: Name: hello |
| 285 | ; NORMAL-NEXT: - Index: 4 |
| 286 | ; NORMAL-NEXT: Name: my_func |
| 287 | ; NORMAL-NEXT: - Index: 5 |
| 288 | ; NORMAL-NEXT: Name: func_comdat |
| 289 | ; NORMAL-NEXT:... |