You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A bisection narrowed down the issue to #32080, and more precisely these commits. I have not been able to bisect down further, because none of these commits compile on my machine.
Investigation
In the meantime, @pnkfelix found the function likely impacted. You can see the results of his investigation.
@eddyb, what information would you think we need to isolate the problem?
The text was updated successfully, but these errors were encountered:
Ah, I have been looking for backtraces for the assertion hit in servo/servo#10173 (I think it's the same as this).
It appears we're misusing LLVMGetOrInsertFunction which can return a cast pointer instead of a definition, if the existing type and the desired one differ, but we're only casting at a later time manually (and assuming we have a definition with no cast in between).
Looking back at my commits, it appears that we used to cache imports by symbol name, instead of ID, so that was actually bypassing the behavior of LLVMGetOrInsertFunction.
trans: don't declare symbols that were already imported.
Fixes#32740 by checking for a declaration before attempting a new one.
Before, `LLVMGetOrInsertFunction` was called for a existing import, but with a different type.
The returned value was a cast function pointer instead of a declaration, and we gave this
value to `llvm::SetFunctionCallConv` & friends , which triggered an LLVM assertion.
I wish I could have a better title 😐
A few days ago, I came across a compiler issue when I tried to compile nix.
Steps to reproduce
git clone https://github.com/nix-rust/nix.git
cd nix
cargo build
Results
nix-rust/nix#339 was filed to track it. With @pnkfelix 's help, I got some debug traces. However, it didn't really help knowing which function of nix was impacted.
Regression window
A bisection narrowed down the issue to #32080, and more precisely these commits. I have not been able to bisect down further, because none of these commits compile on my machine.
Investigation
In the meantime, @pnkfelix found the function likely impacted. You can see the results of his investigation.
@eddyb, what information would you think we need to isolate the problem?
The text was updated successfully, but these errors were encountered: