49 lines · plain
1; RUN: llc -O0 -filetype=obj %s -o - | llvm-readobj -r --expand-relocs - | FileCheck %s2 3target triple = "wasm32-unknown-unknown"4 5; foo and bar are external and internal symbols. a and b are pointers6; initialized to these locations offset by 2 and -2 elements respecitively.7 8@foo = external global i32, align 49@bar = global i64 7, align 410@a = global ptr getelementptr (i32, ptr @foo, i32 2), align 811@b = global ptr getelementptr (i64, ptr @bar, i64 -2), align 812@c = global [3 x ptr] [ptr @foo, ptr @foo, ptr @foo], align 1613 14; CHECK: Format: WASM15; CHECK: Relocations [16; CHECK-NEXT: Section (3) DATA {17; CHECK-NEXT: Relocation {18; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_I32 (5)19; CHECK-NEXT: Offset: 0x1320; CHECK-NEXT: Symbol: foo21; CHECK-NEXT: Addend: 822; CHECK-NEXT: }23; CHECK-NEXT: Relocation {24; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_I32 (5)25; CHECK-NEXT: Offset: 0x1C26; CHECK-NEXT: Symbol: bar27; CHECK-NEXT: Addend: -1628; CHECK-NEXT: }29; CHECK-NEXT: Relocation {30; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_I32 (5)31; CHECK-NEXT: Offset: 0x2532; CHECK-NEXT: Symbol: foo33; CHECK-NEXT: Addend: 034; CHECK-NEXT: }35; CHECK-NEXT: Relocation {36; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_I32 (5)37; CHECK-NEXT: Offset: 0x2938; CHECK-NEXT: Symbol: foo39; CHECK-NEXT: Addend: 040; CHECK-NEXT: }41; CHECK-NEXT: Relocation {42; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_I32 (5)43; CHECK-NEXT: Offset: 0x2D44; CHECK-NEXT: Symbol: foo45; CHECK-NEXT: Addend: 046; CHECK-NEXT: }47; CHECK-NEXT: }48; CHECK-NEXT: ]49