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....@@ -27,6 +27,7 @@ const win64 = builtin.os == builtin.Os.windows and builtin.arch == builtin.Arch.
27const win32_nocrt = win32 and !builtin.link_libc;27const win32_nocrt = win32 and !builtin.link_libc;
28const win64_nocrt = win64 and !builtin.link_libc;28const win64_nocrt = win64 and !builtin.link_libc;
29const linkage = if (builtin.is_test) builtin.GlobalLinkage.Internal else builtin.GlobalLinkage.LinkOnce;29const 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
31const __udivmoddi4 = @import("udivmoddi4.zig").__udivmoddi4;32const __udivmoddi4 = @import("udivmoddi4.zig").__udivmoddi4;
3233
...@@ -125,7 +126,7 @@ export nakedcc fn _chkstk() align(4) {...@@ -125,7 +126,7 @@ export nakedcc fn _chkstk() align(4) {
125 @setDebugSafety(this, false);126 @setDebugSafety(this, false);
126127
127 if (win32_nocrt) {128 if (win32_nocrt) {
128 @setGlobalLinkage(_chkstk, linkage);129 @setGlobalLinkage(_chkstk, strong_linkage);
129 asm volatile (130 asm volatile (
130 \\ push %%ecx131 \\ push %%ecx
131 \\ cmp $0x1000,%%eax132 \\ cmp $0x1000,%%eax
...@@ -158,7 +159,7 @@ export nakedcc fn __chkstk() align(4) {...@@ -158,7 +159,7 @@ export nakedcc fn __chkstk() align(4) {
158 @setDebugSafety(this, false);159 @setDebugSafety(this, false);
159160
160 if (win64_nocrt) {161 if (win64_nocrt) {
161 @setGlobalLinkage(__chkstk, linkage);162 @setGlobalLinkage(__chkstk, strong_linkage);
162 asm volatile (163 asm volatile (
163 \\ push %%rcx164 \\ push %%rcx
164 \\ cmp $0x1000,%%rax165 \\ cmp $0x1000,%%rax