diff options
author | James Clarke <jrtc27@jrtc27.com> | 2019-10-15 17:05:42 +0000 |
---|---|---|
committer | James Clarke <jrtc27@jrtc27.com> | 2019-10-15 17:05:42 +0000 |
commit | 5c63f0cbd82b92e57ec1c8aa929dee820d1b3938 (patch) | |
tree | 2b23d99b161824cfb47a39e3c316a121a1d8596f /test | |
parent | e9ded30bb67525d2812bc31e544507a643a7336b (diff) |
[lld][WebAssembly] Fix static linking of -fPIC code with external undefined data
Reviewers: ruiu, sbc100
Reviewed By: sbc100
Subscribers: dschuff, jgravelle-google, aheejin, sunfish, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D68991
git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@374913 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/wasm/pic-static.ll | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/test/wasm/pic-static.ll b/test/wasm/pic-static.ll index d13d74d8a..83752f3bd 100644 --- a/test/wasm/pic-static.ll +++ b/test/wasm/pic-static.ll @@ -12,6 +12,7 @@ declare i32 @ret32(float) declare i32 @missing_function(float) @global_float = global float 1.0 @hidden_float = hidden global float 2.0 +@missing_float = extern_weak global float @ret32_ptr = global i32 (float)* @ret32, align 4 @@ -27,6 +28,10 @@ define i32 ()* @getaddr_hidden() { ret i32 ()* @hidden_func; } +define float* @getaddr_missing_float() { + ret float* @missing_float +} + define hidden i32 @hidden_func() { ret i32 1 } @@ -83,16 +88,24 @@ entry: ; CHECK-NEXT: Opcode: I32_CONST ; CHECK-NEXT: Value: 1 -; GOT.mem.global_float +; GOT.mem.missing_float ; CHECK-NEXT: - Index: 4 ; CHECK-NEXT: Type: I32 ; CHECK-NEXT: Mutable: false ; CHECK-NEXT: InitExpr: ; CHECK-NEXT: Opcode: I32_CONST +; CHECK-NEXT: Value: 0 + +; GOT.mem.global_float +; CHECK-NEXT: - Index: 5 +; CHECK-NEXT: Type: I32 +; CHECK-NEXT: Mutable: false +; CHECK-NEXT: InitExpr: +; CHECK-NEXT: Opcode: I32_CONST ; CHECK-NEXT: Value: 1024 ; GOT.mem.ret32_ptr -; CHECK-NEXT: - Index: 5 +; CHECK-NEXT: - Index: 6 ; CHECK-NEXT: Type: I32 ; CHECK-NEXT: Mutable: false ; CHECK-NEXT: InitExpr: @@ -100,7 +113,7 @@ entry: ; CHECK-NEXT: Value: 1032 ; __memory_base -; CHECK-NEXT: - Index: 6 +; CHECK-NEXT: - Index: 7 ; CHECK-NEXT: Type: I32 ; CHECK-NEXT: Mutable: false ; CHECK-NEXT: InitExpr: |