llvm/test/MC/WebAssembly/reloc-data.ll
Sam Clegg e4f76f4742 [WebAssembly] Add size of section header to data relocation offsets.
Also, add test for data relocations and fix addend to
be signed.

Subscribers: jfb, dschuff

Differential Revision: https://reviews.llvm.org/D32513

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301690 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-28 21:22:38 +00:00

27 lines
915 B
LLVM

; RUN: llc -O0 -mtriple wasm32-unknown-unknown-wasm -filetype=obj %s -o - | llvm-readobj -r -expand-relocs | FileCheck %s
; foo and bar are external and internal symbols. a and b are pointers
; initialized to these locations offset by 2 and -2 elements respecitively.
@foo = external global i32, align 4
@bar = global i64 7, align 4
@a = global i32* getelementptr (i32, i32* @foo, i32 2), align 8
@b = global i64* getelementptr (i64, i64* @bar, i64 -2), align 8
; CHECK: Format: WASM
; CHECK: Relocations [
; CHECK: Section (6) DATA {
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 (5)
; CHECK: Offset: 0xE
; CHECK: Index: 0x0
; CHECK: Addend: 8
; CHECK: }
; CHECK: Relocation {
; CHECK: Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32 (5)
; CHECK: Offset: 0x16
; CHECK: Index: 0x1
; CHECK: Addend: -16
; CHECK: }
; CHECK: }
; CHECK: ]