-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Nightly 2025-02-03 to 2025-02-04: "Error loading target specification: target feature sse2
is required by the ABI but gets disabled in target spec" with JSON target specification
#136544
Comments
This is caused by #136146. x86 softfloat target specs need to add
to explicitly declare the intended ABI to the compiler. This is part of a larger effort to be more explicit and consistent and sound around the way we handle ABI variants and their interaction with target features. |
Error loading target specification: target feature
sse2 is required by the ABI but gets disabled in target spec
with JSON target specificationsse2
is required by the ABI but gets disabled in target spec` with JSON target specification
sse2
is required by the ABI but gets disabled in target spec` with JSON target specificationsse2
is required by the ABI but gets disabled in target spec" with JSON target specification
No worries. :) In fact, let's leave this issue open for a few days; I assume more people will run into this. |
Could that be a default in the target spec deserialization procedure? (e.g., if there's no |
No, I don't think we want to infer the ABI from the target features. The entire point is to make ABI choices more explicit. |
Thank you very much!! I can solve this problem easily!! |
I've encountered something strange. I added one line as this comment said. OK, it ran successfully. But when I run it again, it said "error: Error loading target specification: target feature |
I don't know what could be causing a different result on the 2nd run -- that might be caused by some of the tooling around rustc; rustc itself doesn't do any caching here AFAIK. |
This is a weird rabbit hole, apparently the latest nightly screwed up the bootloader toolchain rust-lang/rust#136544 but I couldn't find it mentioned anywhere on the rust-osdev/bootloader GitHub. I think it works now, but it should be improved upon later :)
Code
I have the following target JSON (same as
x86_64-unknown-none
but with dynamic linking enabled) for a kernel (https://github.com/avisi-group/borg/tree/main/brig):In nightlies earlier and including
2025-02-03
this compiles correctly. Today,nightly-2025-02-04
gives the following error:I believe this might be related to #134794, but I am not sure what the fix would be for my code?
Version it worked on
It most recently worked on:
nightly-2025-02-03
Version with regression
I don't understand the following, however. When I run the
2025-02-04
binary, it reports the same commit hash and LLVM version as2025-02-03
but I'm definitely experiencing different behavior when I switch between them. Either withrust-toolchain.toml
orcargo +<toolchain>
.rustc --version --verbose
:The text was updated successfully, but these errors were encountered: