-
-
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
[LLVM] Large code model on AArch64 broken with RTDyld #42295
Comments
This is the usual strange M1 crash. It likes to hide whenever someone pokes at it with a debugger. |
After much fighting, I managed to trap this in lldb:
x9 at this point is |
This looks to be a jump table. macOS has a very suspicious "If macOS" right in the code that emits this sequence: |
Simply removing that doesn't work though, because MachO appears to not have an appropriate relocation to support the large code model:
I think this is the point where we'll need to get advice from the Apple LLVM folks. |
Could you elaborate on why this should be on the milestone? M1 is not tier 1 so by definition, issues on M1 are not release blocking. |
Keno, mentioned https://build.julialang.org/#builders/7/builds/3874 as probably related. (Linux AARch64)
|
Removing labels since is seems to be a general AArch64 problem https://build.julialang.org/#/builders/7/builds/5808/steps/5/logs/stdio |
Since the log above disappeared here is a recent one:
#43664 seems to address it for |
<
rational segfault
Fixed by #43664 |
does this go into 1.7? or do i need to wait for 1.8 |
1.8, depends on an LLVM upgrade, which we do not backport |
Reopened since this is still an issue for non-darwin. |
why did we not enable the fix for non-darwin too then? |
Because JITLink on LLVM 13 is not there for aarch64-gnu, iirc. I think we need to wait for LLVM 14 |
Impala on Graviton v2 is failing during data load on INSERT INTO TABLE tpch_kudu.lineitem SELECT * FROM tpch.lineitem with void llvm::RuntimeDyldELF::resolveAArch64Relocation(const llvm::SectionEntry&, uint64_t, uint64_t, uint32_t, int64_t): Assertion `isInt<33>(Result) && "overflow check failed for relocation"' failed. The closest case I could find to this is JuliaLang/julia#42295. Trying a similar fix of setting CodeModel to Small for aarch64, although this may have other issues (https://github.com/llvm/llvm-project/blob/llvmorg-5.0.1/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp#L85-L89). Change-Id: Idb87144ba38e3bedacac83c0f86093916f026c4f
see SciML/OrdinaryDiffEq.jl#1493
I wasn't able to find a smaller reproducer and couldn't find any related issues here
environment
mwe
trace
ive tested that it works on linux 1.7rc1
The text was updated successfully, but these errors were encountered: