@@ -12,6 +12,7 @@ declare i32 @ret32(float)
12
12
declare i32 @missing_function (float )
13
13
@global_float = global float 1 .0
14
14
@hidden_float = hidden global float 2 .0
15
+ @missing_float = extern_weak global float
15
16
16
17
@ret32_ptr = global i32 (float )* @ret32 , align 4
17
18
@@ -27,6 +28,10 @@ define i32 ()* @getaddr_hidden() {
27
28
ret i32 ()* @hidden_func ;
28
29
}
29
30
31
+ define float * @getaddr_missing_float () {
32
+ ret float * @missing_float
33
+ }
34
+
30
35
define hidden i32 @hidden_func () {
31
36
ret i32 1
32
37
}
@@ -83,24 +88,32 @@ entry:
83
88
; CHECK-NEXT: Opcode: I32_CONST
84
89
; CHECK-NEXT: Value: 1
85
90
86
- ; GOT.mem.global_float
91
+ ; GOT.mem.missing_float
87
92
; CHECK-NEXT: - Index: 4
88
93
; CHECK-NEXT: Type: I32
89
94
; CHECK-NEXT: Mutable: false
90
95
; CHECK-NEXT: InitExpr:
91
96
; CHECK-NEXT: Opcode: I32_CONST
97
+ ; CHECK-NEXT: Value: 0
98
+
99
+ ; GOT.mem.global_float
100
+ ; CHECK-NEXT: - Index: 5
101
+ ; CHECK-NEXT: Type: I32
102
+ ; CHECK-NEXT: Mutable: false
103
+ ; CHECK-NEXT: InitExpr:
104
+ ; CHECK-NEXT: Opcode: I32_CONST
92
105
; CHECK-NEXT: Value: 1024
93
106
94
107
; GOT.mem.ret32_ptr
95
- ; CHECK-NEXT: - Index: 5
108
+ ; CHECK-NEXT: - Index: 6
96
109
; CHECK-NEXT: Type: I32
97
110
; CHECK-NEXT: Mutable: false
98
111
; CHECK-NEXT: InitExpr:
99
112
; CHECK-NEXT: Opcode: I32_CONST
100
113
; CHECK-NEXT: Value: 1032
101
114
102
115
; __memory_base
103
- ; CHECK-NEXT: - Index: 6
116
+ ; CHECK-NEXT: - Index: 7
104
117
; CHECK-NEXT: Type: I32
105
118
; CHECK-NEXT: Mutable: false
106
119
; CHECK-NEXT: InitExpr:
0 commit comments