authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-02 00:22:24-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2017-10-02 00:22:24-04:00
logb3f3db46bec83bd467f4e0759ab58965aa3a8459
tree20546297f4c997039ae345eb650b949ee3f42629
parent25ea8f7dbb279d62d352db0cae43e620d9e2b5e9

compiler-rt: strong linkage for __chkstk

otherwise we get undefined symbol errors

1 files changed, 3 insertions(+), 2 deletions(-)

std/special/compiler_rt/index.zig+3-2
......@@ -27,6 +27,7 @@ const win64 = builtin.os == builtin.Os.windows and builtin.arch == builtin.Arch.
2727const win32_nocrt = win32 and !builtin.link_libc;
2828const win64_nocrt = win64 and !builtin.link_libc;
2929const linkage = if (builtin.is_test) builtin.GlobalLinkage.Internal else builtin.GlobalLinkage.LinkOnce;
30const strong_linkage = if (builtin.is_test) builtin.GlobalLinkage.Internal else builtin.GlobalLinkage.Strong;
3031
3132const __udivmoddi4 = @import("udivmoddi4.zig").__udivmoddi4;
3233
......@@ -125,7 +126,7 @@ export nakedcc fn _chkstk() align(4) {
125126 @setDebugSafety(this, false);
126127
127128 if (win32_nocrt) {
128 @setGlobalLinkage(_chkstk, linkage);
129 @setGlobalLinkage(_chkstk, strong_linkage);
129130 asm volatile (
130131 \\ push %%ecx
131132 \\ cmp $0x1000,%%eax
......@@ -158,7 +159,7 @@ export nakedcc fn __chkstk() align(4) {
158159 @setDebugSafety(this, false);
159160
160161 if (win64_nocrt) {
161 @setGlobalLinkage(__chkstk, linkage);
162 @setGlobalLinkage(__chkstk, strong_linkage);
162163 asm volatile (
163164 \\ push %%rcx
164165 \\ cmp $0x1000,%%rax