-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Cross-build of 1.85.0 to mipsel-unknown-netbsd fails w/missing __gnu_h2f_ieee and __gnu_f2h_ieee. #137630
Comments
For context: Due to some platforms still having LLVM bugs, building the compiler/tools shouldn't require these symbols. What was the last version that worked? Looking at |
@rustbot label +F-f16_and_f128 +A-clippy +O-MIPS |
Could you try this again after today's nightly comes out? The update of compiler-builtins that just went through should start building these symbols on mips. |
1.84.1 completed the cross-build for this target. |
Hm. That gives a reasonably narrow window of 2024-11-22 when 1.84 branched from master, and 2025-01-03 when 1.85 branched, but I don't see anything obvious. We could probably work around this by changing However, I'm not sure a workaround is worth it since @martn3 have you noticed any similar errors while building mips, or @uweigand for s390x? |
Looking at the list of architectures that still have |
I've made a small patch for 1.85.0 that changes |
I've not seen any errors on s390x in our daily builds. We don't do regular cross-builds however, if that makes any difference. Currently, f16 is still not supported at all on s390x - we've been making good progress with implementing this, but it's not quite ready yet. (f128 has always been fully supported, however.) |
I have not, but in my setup I don't think I build any host tools such as clippy_utils. |
Thanks a bunch! I can confirm that with this patch applied, the cross-build of 1.85.0 for |
Following on from rust-lang/rust#137630 apply patch gracefully supplied in beetrees/rust@21f8bda .patch by @beetrees. Fixes cross-build for the mipsel-unknown-netbsd target on NetBSD which does not (yet?) support the f16 data type, at least not with the LLVM embedded in 1.85.0 (which is LLVM version 19.1.7).
Summary
I'm going through the round of updating our (NetBSD's pkgsrc) rust package, and have this time come around to making a rust 1.85.0 package in pkgsrc-wip. The cross-build succeeds for most of the targets we try to support, but the 32-bit mips target now fails to build in a novel way.
Command used
Nothing special,
x.py ...
, cross-building from NetBSD/amd64 10.99.12.Expected behaviour
I was expecting the build to succeed.
Actual behaviour
The build stopped after emitting these error messages:
Bootstrap configuration (config.toml)
For what it's worth:
Operating system
The host OS is
NetBSD/amd64 10.99.12
. It has successfully cross-built rust 1.85.0 for riscv64, i586, powerpc, sparc64, armv7, armv6, aarch64 and aarch64_eb, so the host system is not under suspicion of misbehaving.HEAD
This is the 1.85.0 release bits from your tarball distribution, i.e. not checkout out from git.
Additional context
I'm curious what's needed to get rid of this error.
I can't seem to find a pattern to follow from the other mips target descriptions.
Build Log
The build log ends with
and an overview of the different phases already completed:
: {149} egrep '^[B0-9]' list.31 Based on these variables, the following variables have been set: Building bootstrap Building LLVM for mipsel-unknown-netbsd Building LLVM for x86_64-unknown-netbsd Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/CodeGenIntrinsics.cpp.o Basic/CMakeFiles/obj.LLVMTableGenBasic.dir/SDNodeProperties.cpp.o Building stage0 library artifacts (x86_64-unknown-netbsd) Building compiler artifacts (stage0 -> stage1, x86_64-unknown-netbsd) Building stage0 tool lld-wrapper (x86_64-unknown-netbsd) Building LLD for x86_64-unknown-netbsd Building stage0 tool wasm-component-ld (x86_64-unknown-netbsd) Building tool llvm-bitcode-linker (stage0 -> stage1, x86_64-unknown-netbsd) Building stage1 library artifacts (x86_64-unknown-netbsd -> mipsel-unknown-netbsd) Building stage1 library artifacts (x86_64-unknown-netbsd) Building compiler artifacts (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building stage1 tool lld-wrapper (x86_64-unknown-netbsd -> mipsel-unknown-netbsd) Building LLD for mipsel-unknown-netbsd Building stage1 tool wasm-component-ld (x86_64-unknown-netbsd -> mipsel-unknown-netbsd) Building tool llvm-bitcode-linker (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool rustdoc (stage1 -> stage2, mipsel-unknown-netbsd) Building tool rust-analyzer-proc-macro-srv (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building stage0 tool rust-installer (x86_64-unknown-netbsd) Building tool cargo (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool rls (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool rust-analyzer (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool rustfmt (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool cargo-fmt (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Building tool clippy-driver (stage1:x86_64-unknown-netbsd -> stage2:mipsel-unknown-netbsd) Build completed unsuccessfully in 1:24:08 81994.208u 5484.812s 1:27:59.08 1657.0% 29+5k 450+1805352io 21651pf+0w : {150}
The text was updated successfully, but these errors were encountered: