You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 24, 2022. It is now read-only.
It's very likely that the thumb targets will soon switch to rust-lld as their default linker (see rust-embedded/wg#160). If we want to achieve the goal of not depending on GCC, by default, to
build Cortex-M applications then we also have to make core crates like this one not depend on GCC by
default. This RFC is exactly about that.
I propose that in the next minor (breaking) release, v0.6.0, we add an opt-in Cargo feature named
"exception-frame" that changes the signature of the HardFault handler as it's shown below:
// "exception-frame" disabled#[exception(HardFault)]fnhandler(/* no `ExceptionFrame` here */) -> ! {// ..}// "exception-frame" enabled#[exception(HardFault)]fnhandler(ef:&ExceptionFrame) -> ! {// ..}
The rationale for this change is that providing ExceptionFrame information to the handler requires an external assembly file and that
makes this crate depend on GCC. By making this information opt-in this crate would, by default, work
w/o GCC being present. If the user wants the ExceptionFrame information they'll need to have GCC
installed.