Skip to content

"cannot link object files with different floating-point ABI" (nightly-2021-03-23) #69

Closed
@yvt

Description

@yvt

riscv and riscv-rt crates cause a linker error when building with a recent nightly compiler for a hard-float target.

git clone https://github.com/riscv-rust/k210-crates.git --recursive
cd k210-crates
cd k210-example
sed -i .bak -e 's/riscv64imac/riscv64gc/g' .cargo/config
cargo +nightly-2021-03-23 build --release

Output:

error: linking with `rust-lld` failed: exit code: 1
  |
  = note: "rust-lld" "-flavor" "gnu" "-L" [...]
  = note: rust-lld: error: [redacted]/target/riscv64gc-unknown-none-elf/release/deps/libriscv-3f21992281a58781.rlib(riscv.o): cannot link object files with different floating-point ABI
          rust-lld: error: [redacted]/target/riscv64gc-unknown-none-elf/release/deps/libriscv_rt-db1e8f195a4770c0.rlib(riscv-rt.o): cannot link object files with different floating-point ABI


error: aborting due to previous error

error: could not compile `k210-example`

To learn more, run the command again with --verbose.

It appears that this started happening somewhere between nightly-2021-03-10 and nightly-2021-03-23 (inclusive).

  • 1.50.0: ok
  • nightly-2021-02-19: ok
  • nightly-2021-02-23: ok
  • nightly-2021-03-09: ok
  • nightly-2021-03-23: fail

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions