compiler-builtins
compiler-builtins copied to clipboard
riscv64gc-unknown-linux-gnu: undefined reference to `__bswapsi2'; undefined reference to `__ctzdi2'
I was trying to bootstrap Rust beta (1.43.0) for Linux/riscv64 on Ubuntu 20.04 host. I have done that before successfully with 1.42.0 (stable). This time I also added llvm-libuwnind to config.
This failed:
Compiling rustc-workspace-hack v1.0.0 (/root/rust/src/tools/rustc-workspace-hack)
Compiling crates-io v0.31.0 (/root/rust/src/tools/cargo/crates/crates-io)
Compiling git2-curl v0.14.0
Compiling cargo v0.44.0 (/root/rust/src/tools/cargo)
error: linking with `riscv64-linux-gnu-gcc` failed: exit code: 1
|
= note: "riscv64-linux-gnu-gcc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-L" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/riscv64gc-unknown-linux-gnu/lib" "/root/rust/build/x86_64-unknown-linux-gnu/stage1-tools
/riscv64gc-unknown-linux-gnu/release/deps/cargo-dfd74c68ed037caa.cargo.bq3j19y1-cgu.0.rcgu.o" "/root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/cargo-dfd74c68ed037caa.cargo.bq3j19y1
[..]
gnu/stage1/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcore-c10872ff33ae6858.rlib" "-Wl,--end-group" "/root/rust/build/x86_64-unknown-linux-gnu/stage1/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcompiler_builtins-a451bbb74f0c33cf.rlib" "-Wl,-Bdynamic" "-lutil" "-ldl" "-lrt" "-lpthread" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-Wl,-rpath,$ORIGIN/../lib"
= note: /usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/liblibgit2_sys-6bfec99124006b4c.rlib(index.o): in function `.L0 ':
index.c:(.text.git_index_read+0x1aa): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/liblibgit2_sys-6bfec99124006b4c.rlib(index.o): in function `.L1182':
index.c:(.text.git_index_read+0x1c4): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: index.c:(.text.git_index_read+0x1fc): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/liblibgit2_sys-6bfec99124006b4c.rlib(index.o): in function `.L1021':
index.c:(.text.git_index_read+0x28a): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: index.c:(.text.git_index_read+0x29a): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/liblibgit2_sys-6bfec99124006b4c.rlib(index.o):index.c:(.text.git_index_read+0x2aa): more undefined references to `__bswapsi2' follow
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/libopenssl_sys-49a51c0cc7adde7e.rlib(curve448.o): in function `.L0 ':
(.text+0x22e): undefined reference to `__ctzdi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: /root/rust/build/x86_64-unknown-linux-gnu/stage1-tools/riscv64gc-unknown-linux-gnu/release/deps/liblibnghttp2_sys-733d40bd8aaf883e.rlib(nghttp2_helper.o): in function `.L0 ':
nghttp2_helper.c:(.text.nghttp2_put_uint32be+0x18): undefined reference to `__bswapsi2'
/usr/lib/gcc-cross/riscv64-linux-gnu/9/../../../../riscv64-linux-gnu/bin/ld: nghttp2_helper.c:(.text.nghttp2_get_uint32+0x34): undefined reference to `__bswapsi2'
collect2: error: ld returned 1 exit status
Do we need something like this but also for riscv64?
https://github.com/rust-lang/compiler-builtins/pull/341
Similar issue on riscv64-gn-unknown-linux-musl with -Zbuild-std
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L5':
vfprintf.c:(.text.pop_arg+0x8c): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L51':
vfprintf.c:(.text.fmt_fp+0x88): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L50':
vfprintf.c:(.text.fmt_fp+0x17a): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x18e): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L61':
vfprintf.c:(.text.fmt_fp+0x20e): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x21e): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L65':
vfprintf.c:(.text.fmt_fp+0x2d2): undefined reference to `__fixtfsi'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L69':
vfprintf.c:(.text.fmt_fp+0x2f2): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x302): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x30e): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x332): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x35c): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L68':
vfprintf.c:(.text.fmt_fp+0x39e): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L62':
vfprintf.c:(.text.fmt_fp+0x3c0): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x3cc): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L72':
vfprintf.c:(.text.fmt_fp+0x4b2): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x4cc): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L74':
vfprintf.c:(.text.fmt_fp+0x528): undefined reference to `__fixunstfsi'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L75':
vfprintf.c:(.text.fmt_fp+0x536): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: vfprintf.c:(.text.fmt_fp+0x546): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L77':
vfprintf.c:(.text.fmt_fp+0x552): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L78':
vfprintf.c:(.text.fmt_fp+0x562): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L190':
vfprintf.c:(.text.fmt_fp+0x7cc): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfprintf.o): in function `.L191':
vfprintf.c:(.text.fmt_fp+0x7da): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(frexpl.o): in function `frexpl':
frexpl.c:(.text.frexpl+0x20): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: frexpl.c:(.text.frexpl+0x38): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfscanf.o): in function `.L77':
vfscanf.c:(.text.vfscanf+0x332): undefined reference to `__trunctfsf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(vfscanf.o): in function `.L116':
vfscanf.c:(.text.vfscanf+0x776): undefined reference to `__trunctfdf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L75':
floatscan.c:(.text.decfloat+0x142): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L87':
floatscan.c:(.text.decfloat+0x27c): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x28a): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x296): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x2a6): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L55':
floatscan.c:(.text.decfloat+0x3a2): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L115':
floatscan.c:(.text.decfloat+0x6b2): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x6be): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x6e8): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L116':
floatscan.c:(.text.decfloat+0x70a): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x71e): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x744): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L117':
floatscan.c:(.text.decfloat+0x766): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x77a): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x7a2): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L118':
floatscan.c:(.text.decfloat+0x7be): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x7ca): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x7d6): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L119':
floatscan.c:(.text.decfloat+0x826): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L120':
floatscan.c:(.text.decfloat+0x84c): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x874): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x884): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L121':
floatscan.c:(.text.decfloat+0x8d0): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x8e0): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L183':
floatscan.c:(.text.decfloat+0x910): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x91c): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L151':
floatscan.c:(.text.decfloat+0x998): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L114':
floatscan.c:(.text.decfloat+0x9a6): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L191':
floatscan.c:(.text.decfloat+0x9b6): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L78':
floatscan.c:(.text.decfloat+0x9d8): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0x9e6): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L192':
floatscan.c:(.text.decfloat+0xa0e): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0xa1c): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L193':
floatscan.c:(.text.decfloat+0xa58): undefined reference to `__trunctfdf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L123':
floatscan.c:(.text.decfloat+0xa84): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L202':
floatscan.c:(.text.decfloat+0xab8): undefined reference to `__eqtf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L135':
floatscan.c:(.text.decfloat+0xad0): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L201':
floatscan.c:(.text.decfloat+0xaf0): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L203':
floatscan.c:(.text.decfloat+0xb38): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0xb48): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L126':
floatscan.c:(.text.decfloat+0xb8a): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0xb96): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L155':
floatscan.c:(.text.decfloat+0xbb6): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L197':
floatscan.c:(.text.decfloat+0xbc6): undefined reference to `__divtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L132':
floatscan.c:(.text.decfloat+0xbda): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L195':
floatscan.c:(.text.decfloat+0xbea): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0xbfe): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.decfloat+0xc0a): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L289':
floatscan.c:(.text.__floatscan+0x5f6): undefined reference to `__getf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L290':
floatscan.c:(.text.__floatscan+0x610): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x620): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L295':
floatscan.c:(.text.__floatscan+0x66a): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x67a): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L300':
floatscan.c:(.text.__floatscan+0x69c): undefined reference to `__netf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x6b4): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x6c4): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x6d2): undefined reference to `__floatunsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x6de): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L315':
floatscan.c:(.text.__floatscan+0x6ea): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x6f6): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x702): undefined reference to `__subtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L302':
floatscan.c:(.text.__floatscan+0x712): undefined reference to `__eqtf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x75e): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x76e): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x77a): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L304':
floatscan.c:(.text.__floatscan+0x78a): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L272':
floatscan.c:(.text.__floatscan+0x7c2): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x7d2): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L275':
floatscan.c:(.text.__floatscan+0x7fc): undefined reference to `__addtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L274':
floatscan.c:(.text.__floatscan+0x838): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L267':
floatscan.c:(.text.__floatscan+0x8d8): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L324':
floatscan.c:(.text.__floatscan+0x8ea): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L265':
floatscan.c:(.text.__floatscan+0x8f8): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L382':
floatscan.c:(.text.__floatscan+0x92a): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x93c): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L383':
floatscan.c:(.text.__floatscan+0x94a): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: floatscan.c:(.text.__floatscan+0x970): undefined reference to `__floatsitf'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(floatscan.o): in function `.L380':
floatscan.c:(.text.__floatscan+0x980): undefined reference to `__extenddftf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(fmodl.o): in function `fmodl':
fmodl.c:(.text.fmodl+0x2e): undefined reference to `__eqtf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0x40): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0x4c): undefined reference to `__divtf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0xbe): undefined reference to `__letf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0xd2): undefined reference to `__eqtf2'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0xe4): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0x100): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0x17a): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: fmodl.c:(.text.fmodl+0x19a): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(scalbnl.o): in function `scalbnl':
scalbnl.c:(.text.scalbnl+0x1c): undefined reference to `__multf3'
/usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/bin/ld: /usr/local/musl/bin/../lib/gcc/riscv64-unknown-linux-musl/11.2.0/../../../../riscv64-unknown-linux-musl/lib/libc.a(scalbnl.o):scalbnl.c:(.text.scalbnl+0x38): more undefined references to `__multf3' follow
collect2: error: ld returned 1 exit status
Any pointer?
The C code has been disabled by this commit: https://github.com/rust-lang/compiler-builtins/commit/e4f46b91ca843297fc065e20f1591e4971ae608c
So it's not the same fix as the MIPs issue. It seems like first we need to add the RISC-V C compiler somewhere so then we can revert https://github.com/rust-lang/compiler-builtins/commit/e4f46b91ca843297fc065e20f1591e4971ae608c
This seems to be the place we need to add RISC-V compiler support to: https://github.com/rust-lang/rust/blob/master/src/ci/docker/host-x86_64/dist-various-1/Dockerfile#L108