Sam Clegg | a06de02 | 2017-04-28 21:22:38 +0000 | [diff] [blame] | 1 | ; RUN: llc -O0 -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | llvm-readobj -r -expand-relocs | FileCheck %s |
| 2 | |
| 3 | ; foo and bar are external and internal symbols. a and b are pointers |
| 4 | ; initialized to these locations offset by 2 and -2 elements respecitively. |
| 5 | @foo = external global i32, align 4 |
| 6 | @bar = global i64 7, align 4 |
| 7 | @a = global i32* getelementptr (i32, i32* @foo, i32 2), align 8 |
| 8 | @b = global i64* getelementptr (i64, i64* @bar, i64 -2), align 8 |
| 9 | |
| 10 | ; CHECK: Format: WASM |
| 11 | ; CHECK: Relocations [ |
| 12 | ; CHECK: Section (6) DATA { |
| 13 | ; CHECK: Relocation { |
Sam Clegg | 13a2e89 | 2017-09-01 17:32:01 +0000 | [diff] [blame] | 14 | ; CHECK: Type: R_WEBASSEMBLY_MEMORY_ADDR_I32 (5) |
Sam Clegg | a06de02 | 2017-04-28 21:22:38 +0000 | [diff] [blame] | 15 | ; CHECK: Offset: 0xE |
| 16 | ; CHECK: Index: 0x0 |
| 17 | ; CHECK: Addend: 8 |
| 18 | ; CHECK: } |
| 19 | ; CHECK: Relocation { |
Sam Clegg | 13a2e89 | 2017-09-01 17:32:01 +0000 | [diff] [blame] | 20 | ; CHECK: Type: R_WEBASSEMBLY_MEMORY_ADDR_I32 (5) |
Sam Clegg | a06de02 | 2017-04-28 21:22:38 +0000 | [diff] [blame] | 21 | ; CHECK: Offset: 0x16 |
| 22 | ; CHECK: Index: 0x1 |
| 23 | ; CHECK: Addend: -16 |
| 24 | ; CHECK: } |
| 25 | ; CHECK: } |
| 26 | ; CHECK: ] |