Closed teamplayer3 closed 3 years ago
minimal repro:
#![no_main]
#![no_std]
use nrf52840_hal as _; // device-specific vector table (probably not necessary to repro)
#[cortex_m_rt::entry]
fn main() -> ! {
loop {}
}
#[panic_handler]
fn panic(_: &core::panic::PanicInfo) -> ! {
loop {}
}
assertion:
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `16`,
right: `0`: BUG: LLVM reported that `__aeabi_memcpy` uses 0 bytes of stack but this doesn't match our analysis', src/main.rs:1012:29
Machine code:
$ arm-none-eabi-objdump -Cd target/thumbv7em-none-eabihf/release/hello
00000192 <__aeabi_memcpy>:
192: f000 b843 b.w 21c <memcpy>
assertion fixed in #41
I tried analyzing the cortex-m-test crate, more specific the hello example and cargo-call-stack panicked.
Compiled with:
executed command:
And I got the following:
I recognized that this could happen in the future, as it said in the README.
I tried it with older versions and recognized that in version 1.53.0-nightly I only get the warnings, but it compiles.
When I use the version 1.54.0-nightly and above I get the panicking from above.