aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorJames Clarke <jrtc27@jrtc27.com>2019-10-15 17:05:42 +0000
committerJames Clarke <jrtc27@jrtc27.com>2019-10-15 17:05:42 +0000
commit5c63f0cbd82b92e57ec1c8aa929dee820d1b3938 (patch)
tree2b23d99b161824cfb47a39e3c316a121a1d8596f /test
parente9ded30bb67525d2812bc31e544507a643a7336b (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.ll19
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: