49 lines · plain
1; RUN: llc -O0 -filetype=obj %s -o - | llvm-readobj -r --expand-relocs - | FileCheck %s2 3; CHECK: Format: WASM4; CHECK: Relocations [5; CHECK-NEXT: Section (3) DATA {6; CHECK-NEXT: Relocation {7; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_LOCREL_I32 (23)8; CHECK-NEXT: Offset: 0x69; CHECK-NEXT: Symbol: foo10; CHECK-NEXT: Addend: 011; CHECK-NEXT: }12; CHECK-NEXT: Relocation {13; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_LOCREL_I32 (23)14; CHECK-NEXT: Offset: 0xA15; CHECK-NEXT: Symbol: fizz16; CHECK-NEXT: Addend: 017; CHECK-NEXT: }18; CHECK-NEXT: Relocation {19; CHECK-NEXT: Type: R_WASM_MEMORY_ADDR_LOCREL_I32 (23)20; CHECK-NEXT: Offset: 0x1721; CHECK-NEXT: Symbol: foo22; CHECK-NEXT: Addend: 423; CHECK-NEXT: }24; CHECK-NEXT: }25; CHECK-NEXT: ]26 27target triple = "wasm32-unknown-unknown"28 29 30; @foo - @bar31@foo = external global i32, align 432@bar = constant i32 sub (33 i32 ptrtoint (ptr @foo to i32),34 i32 ptrtoint (ptr @bar to i32)35), section ".sec1"36 37 38; @foo - @addend + 439@fizz = constant i32 42, align 4, section ".sec2"40@addend = constant i32 sub (41 i32 ptrtoint (ptr @foo to i32),42 i32 ptrtoint (ptr @fizz to i32)43), section ".sec2"44 45@x_sec = constant i32 sub (46 i32 ptrtoint (ptr @fizz to i32),47 i32 ptrtoint (ptr @x_sec to i32)48), section ".sec1"49