-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
__chkstk function (LLVM36) #9339
Comments
Should be in libgcc? I've seen this before, but it was always a sign of misconfigured mingw. |
I see the symbol in code compiled by libgcc (using the cygwin cross-compile). llvm33 didn't use it, llvm35 now tries to use it, and seems to be unable to find it. |
Was this an msys2 build? In cygwin-to-mingw cross compile I don't see this. |
cygwin-to-mingw, llvm35 here's how you can invoke it directly
|
Yep, nevermind, confirmed. Must just happen later in the numbers test than the other failure I've been seeing. |
probably just needs an entry like Line 4569 in cc075cf
(with signature void __chkstk_ms(void) ), although it has some other possible names on various platforms: __chkstk_ms , _chkstk , _alloca , _chkstk ,
|
i've tried to fix this as I suggested, but it seems the compiler/linker only includes this function if it feels like it? |
nevermind, i was doing the symbol mangling wrong |
@Keno it appears that this requires a custom lowering pass, resulting in it getting called out explicitly as an i32 PCrel call. this is correct when emitted into a static binary, but not as useful when JIT.
i'm not sure what is supposed to go there, however. or maybe we need to start actually moving the thoughts? |
for temporary use, it works if i just disable the offending code:
|
(cherry picked from commit 6dbcf80)
This may have been fixed upstream in http://reviews.llvm.org/rL227519. |
On 3.7, yeah? Should keep an eye on the 3.6 branch to see whether it gets backported. If not we can probably carry the patch locally if we use 3.6. |
Guess this is not completely fixed on cygwin:
commit 50cf353
|
LLVM version .? |
Ah yeah, 3.6.0 |
Can you tell whether or not that was built including the patch from https://github.com/JuliaLang/julia/blob/master/deps/win64-allocas-llvm-3.6.0.patch ? I think we got those patches backported for 3.6.1, should also be in 3.6.2. Or release_37 branch is in RC mode so should hopefully be slow-moving until 3.7.0 is ready? |
with LLVM35, it looks like we need to provide llvm with a __chkstk_ms function?
The text was updated successfully, but these errors were encountered: