diff options
-rw-r--r-- | cortex-m-rt/macros/src/lib.rs | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/cortex-m-rt/macros/src/lib.rs b/cortex-m-rt/macros/src/lib.rs index cd92b85..80ac665 100644 --- a/cortex-m-rt/macros/src/lib.rs +++ b/cortex-m-rt/macros/src/lib.rs @@ -368,11 +368,7 @@ pub fn exception(args: TokenStream, input: TokenStream) -> TokenStream { #(#cfgs)* #(#attrs)* #[doc(hidden)] - #[export_name = "HardFault"] - // Only emit link_section when building for embedded targets, - // because some hosted platforms (used to check the build) - // cannot handle the long link section names. - #[cfg_attr(target_os = "none", link_section = ".HardFault.user")] + #[export_name = "HardFaultUser"] pub unsafe extern "C" fn #tramp_ident(frame: &::cortex_m_rt::ExceptionFrame) { #ident(frame) } @@ -384,23 +380,23 @@ pub fn exception(args: TokenStream, input: TokenStream) -> TokenStream { // Depending on the stack mode in EXC_RETURN, fetches stack from either MSP or PSP. core::arch::global_asm!( ".cfi_sections .debug_frame - .section .HardFaultTrampoline, \"ax\" - .global HardFaultTrampline - .type HardFaultTrampline,%function + .section .HardFault.user, \"ax\" + .global HardFault + .type HardFault,%function .thumb_func .cfi_startproc - HardFaultTrampoline:", - "mov r0, lr - movs r1, #4 - tst r0, r1 - bne 0f - mrs r0, MSP - b HardFault + HardFault:", + "mov r0, lr + movs r1, #4 + tst r0, r1 + bne 0f + mrs r0, MSP + b HardFaultUser 0: - mrs r0, PSP - b HardFault", + mrs r0, PSP + b HardFaultUser", ".cfi_endproc - .size HardFaultTrampoline, . - HardFaultTrampoline", + .size HardFault, . - HardFault", ); ) } else { |