-
Notifications
You must be signed in to change notification settings - Fork 13.8k
Closed
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-AVRTarget: AVR processors (ATtiny, ATmega, etc.)Target: AVR processors (ATtiny, ATmega, etc.)
Description
Good day..
I have been trying to compile some code for a atmega4809, following the rust embedded book.
but im running into quite some problems,..
used the following device jsons with either atmega4809 || avrxmega3 cpu setting,
pack was downloaded from the official place
{
"arch": "avr",
"atomic-cas": false,
"cpu": "atmega4809",
"data-layout": "e-P1-p:16:8-i8:8-i16:8-i32:8-i64:8-f32:8-f64:8-n8-a:8",
"eh-frame-header": false,
"env": "",
"exe-suffix": ".elf",
"executables": true,
"late-link-args": {
"gcc": [
"-lgcc"
]
},
"linker": "avr-gcc",
"linker-is-gnu": true,
"llvm-target": "avr-unknown-unknown",
"code-model": "small",
"max-atomic-width": 8,
"no-default-libraries": false,
"os": "unknown",
"pre-link-args": {
"gcc": [
"-mmcu=atmega4809",
"-B./packs/gcc/dev/atmega4809/"
]
},
"target-c-int-width": "16",
"target-endian": "little",
"target-pointer-width": "16",
"vendor": "unknown"
}
.cargo/config.toml
[build]
target = "./avr-4809.json"
[unstable]
build-std = ["core"]
while using nightly-2022-10-22 it gives me a SIGSEGV with release tag
➜ arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json --release
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.82
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling avr-std-stub v1.0.3
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x28bdd83)[0x7fedeb0bdd83]
/usr/lib/libc.so.6(+0x39ab0)[0x7fede84c2ab0]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm12MachineInstr15addRegisterDeadENS_8RegisterEPKNS_18TargetRegisterInfoEb+0xe7)[0x7fede6e364e7]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm13LiveIntervals17computeDeadValuesERNS_12LiveIntervalEPNS_15SmallVectorImplIPNS_12MachineInstrEEE+0x141)[0x7fede6e9b5c1]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm13LiveIntervals12shrinkToUsesEPNS_12LiveIntervalEPNS_15SmallVectorImplIPNS_12MachineInstrEEE+0x3e8)[0x7fede6e9b1f0]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm13LiveRangeEdit17eliminateDeadDefsERNS_15SmallVectorImplIPNS_12MachineInstrEEENS_8ArrayRefINS_8RegisterEEE+0x18c)[0x7fede6c75c8c]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(+0x5cece1a)[0x7fede72ece1a]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm12RegAllocBase16postOptimizationEv+0x17)[0x7fede6be8e35]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(+0x59e2f70)[0x7fede6fe2f70]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0xb0f)[0x7fede7029c1f]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x2f)[0x7fede70290ef]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.66.0-nightly.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x210)[0x7fede6d4b95c]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23b73a2)[0x7fedeabb73a2]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23b6cf9)[0x7fedeabb6cf9]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23b4c5a)[0x7fedeabb4c5a]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23b2105)[0x7fedeabb2105]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23b1117)[0x7fedeabb1117]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23af548)[0x7fedeabaf548]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/librustc_driver-fd3fbd78313e2ee9.so(+0x23148a9)[0x7fedeab148a9]
/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/libstd-7b2106000b625742.so(rust_metadata_std_631fbe326a1fa8e7+0xff583)[0x7fede8779583]
/usr/lib/libc.so.6(+0x8744b)[0x7fede851044b]
/usr/lib/libc.so.6(+0x10ae40)[0x7fede8593e40]
error: could not compile `core`
Caused by:
process didn't exit successfully: `rustc --crate-name core --edition=2021 /home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C metadata=a775a4ac62b5815b -C extra-filename=-a775a4ac62b5815b --out-dir /home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps --target /home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/avr-4809.json -Z force-unstable-if-unmarked -L dependency=/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps -L dependency=/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/release/deps --cap-lints allow` (signal: 11, SIGSEGV: invalid memory reference)
while using nightly-2022-10-22 without --release
arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-2022-10-22-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling compiler_builtins v0.1.82
error: ran out of registers during register allocation
error: could not compile `core` due to previous error
warning: build failed, waiting for other jobs to finish...
using nightly-2022-12-08 without --release gives again a SIGSEGV
arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.84
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x3295713)[0x7f06fec95713]
/usr/lib/libc.so.6(+0x39ab0)[0x7f06fb6b5ab0]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(_ZN4llvm12MachineInstr10addOperandERNS_15MachineFunctionERKNS_14MachineOperandE+0x1e6)[0x7f06f9c00580]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(+0x4c8e8cc)[0x7f06f948e8cc]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(+0x4c8e61f)[0x7f06f948e61f]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0xafd)[0x7f06fa179851]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x2f)[0x7f06fa178d33]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/libLLVM-15-rust-1.67.0-nightly.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x21a)[0x7f06f9f5575a]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277da82)[0x7f06fe17da82]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277d445)[0x7f06fe17d445]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277b397)[0x7f06fe17b397]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277884d)[0x7f06fe17884d]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277770e)[0x7f06fe17770e]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x277667e)[0x7f06fe17667e]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x2692a24)[0x7f06fe092a24]
/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/librustc_driver-e0c8ab3d159f8c4e.so(+0x404a393)[0x7f06ffa4a393]
/usr/lib/libc.so.6(+0x8744b)[0x7f06fb70344b]
/usr/lib/libc.so.6(+0x10ae40)[0x7f06fb786e40]
Compiling avr-std-stub v1.0.3
error: could not compile `core`
Caused by:
process didn't exit successfully: `rustc --crate-name core --edition=2021 /home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=b4da6b00cf28ed56 -C extra-filename=-b4da6b00cf28ed56 --out-dir /home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/debug/deps --target /home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/avr-4809.json -Z force-unstable-if-unmarked -L dependency=/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/debug/deps -L dependency=/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/debug/deps --cap-lints allow` (signal: 11, SIGSEGV: invalid memory reference)
using nightly-2022-12-08 with --release
arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json --release
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.84
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling avr-std-stub v1.0.3
Compiling arduino_test v0.1.0 (/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test)
error: linking with `avr-gcc` failed: exit status: 1
|
= note: "avr-gcc" "-mmcu=atmega4809" "-B./packs/gcc/dev/atmega4809/" "/tmp/rustcPtISzx/symbols.o" "/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps/arduino_test-b4126c1cca60c38f.arduino_test.968f6c9b-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps" "-L" "/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/release/deps" "-L" "/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/avr-4809/lib" "-Wl,-Bstatic" "/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps/libcompiler_builtins-0dc899707a19c0d5.rlib" "-Wl,-Bdynamic" "-lgcc" "-Wl,-znoexecstack" "-L" "/home/n3m0/.rustup/toolchains/nightly-2022-12-08-x86_64-unknown-linux-gnu/lib/rustlib/avr-4809/lib" "-o" "/home/n3m0/Mounts/DATA3/rust_lang_tuts/arduino_test/target/avr-4809/release/deps/arduino_test-b4126c1cca60c38f.elf" "-Wl,--gc-sections" "-no-pie" "-Wl,-O1"
= note: /usr/bin/avr-ld: avr architecture of input file `/tmp/rustcPtISzx/symbols.o' is incompatible with avr:103 output
collect2: error: ld returned 1 exit status
error: could not compile `arduino_test` due to previous error;
using latest nighly-2023-05-30 with --release
arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json --release
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling compiler_builtins v0.1.92
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling avr-std-stub v1.0.3
LLVM ERROR: Expected a constant shift amount!
error: could not compile `compiler_builtins` (lib)
warning: build failed, waiting for other jobs to finish...
using latest nighly-2023-05-30 without --release
arduino_test git:(master) ✗ cargo build -Z build-std=core --target ./avr-4809.json
Compiling core v0.0.0 (/home/n3m0/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core)
Compiling rustc-std-workspace-core v1.99.0 (/home/n3m0/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/rustc-std-workspace-core)
Compiling compiler_builtins v0.1.92
error: ran out of registers during register allocation
error: could not compile `core` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
anyone know how to solve this..?
Metadata
Metadata
Assignees
Labels
C-bugCategory: This is a bug.Category: This is a bug.O-AVRTarget: AVR processors (ATtiny, ATmega, etc.)Target: AVR processors (ATtiny, ATmega, etc.)