Closed
Description
I'm working on a program that uses @Rahix's avr-hal and the w5500 driver crate. However when compiling, I get this error:
$ export RUST_TARGET_PATH="/home/jonah/Projects/smart-plug/"
$ export RUSTUP_TOOLCHAIN=avr-toolchain
$ export XARGO_RUST_SRC="/home/jonah/Projects/rust/src"
$ xargo build --target avr-atmega328p --release
error: linking with `avr-gcc` failed: exit code: 1
|
= note: "avr-gcc" "-Os" "-mmcu=atmega328p" "-L" "/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib" "/home/jonah/Projects/smart-plug/target/avr-atmega328p/release/deps/smart_plug-c760f2efbebaee9b.smart_plug.17dox426-cgu.0.rcgu.o" "-o" "/home/jonah/Projects/smart-plug/target/avr-atmega328p/release/deps/smart_plug-c760f2efbebaee9b.elf" "-Wl,--gc-sections" "-L" "/home/jonah/Projects/smart-plug/target/avr-atmega328p/release/deps" "-L" "/home/jonah/Projects/smart-plug/target/release/deps" "-L" "/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib" "-Wl,-Bdynamic" "-Wl,--gc-sections"
= note: /home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_24':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x35c): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_26':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x37c): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_51':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x7ee): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_65':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x924): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_89':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xbde): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_101':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xcfc): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB4_103':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xd22): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB12_17':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x2df6): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB12_23':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x2e52): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x2e64): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB18_17':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x5e84): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB18_23':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x5ee0): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x5ef4): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB24_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x89c2): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB24_12':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x89dc): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB25_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x8aa6): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB26_8':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x8bfc): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB30_8':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x9210): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB30_10':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x921a): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB31_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x92da): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB32_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x940e): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB36_76':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xa2f0): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB36_78':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xa352): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB39_46':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc024): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc044): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc056): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc070): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB39_75':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc526): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB39_78':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xc5a6): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB48_3':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xdebc): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB62_53':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0xfd98): undefined reference to `__divmodti4'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB64_49':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1091e): undefined reference to `__divmodti4'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB74_6':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11b7a): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11b8c): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11ba2): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB74_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11bb4): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB75_6':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11c50): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11c60): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11c76): undefined reference to `__ashrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB75_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11c88): undefined reference to `__ashrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB76_6':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11d5e): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11d6e): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11d84): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB76_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x11d96): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB83_21':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x12dc2): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x12dd6): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB84_21':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x134a4): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x134c2): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB85_24':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x13bda): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x13bf6): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB90_93':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x15668): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `_$LT$i32$u20$as$u20$compiler_builtins..int..Int$GT$::wrapping_shl::h538766759685e63f':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x18eba): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB148_9':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1aa00): undefined reference to `__divmodti4'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB149_9':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1ac50): undefined reference to `__divmodti4'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `_$LT$u32$u20$as$u20$compiler_builtins..int..WideInt$GT$::wide_shift_left::h2260981b3eb5ef04':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b7fa): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b814): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b83a): undefined reference to `__ashlsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB169_3':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b8e0): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b8f8): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b914): undefined reference to `__ashlsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b942): undefined reference to `__lshrsi3'
/home/jonah/.xargo/lib/rustlib/avr-atmega328p/lib/libcompiler_builtins-9a1ff32ee7e2d645.rlib(compiler_builtins-9a1ff32ee7e2d645.compiler_builtins.d7w6r55k-cgu.0.rcgu.o): In function `LBB169_7':
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b984): undefined reference to `__lshrsi3'
compiler_builtins.d7w6r55k-cgu.0:(.progmem.data+0x1b99c): undefined reference to `__ashlsi3'
collect2: error: ld returned 1 exit status
error: aborting due to previous error
Because these clearly aren't normal Rust compiler errors, it seems like this might be a bug with the Rust compiler itself. Does anything obvious stand out as a problem here? Could there be a problem with my setup? I just updated and re-compiled avr-rust today to make sure. Note that this error only occurs if I invoke the receive method of w5500 in my application. Full application code can be found here:
Metadata
Metadata
Assignees
Labels
No labels