aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/asm.s
diff options
context:
space:
mode:
Diffstat (limited to 'cortex-m-rt/asm.s')
-rw-r--r--cortex-m-rt/asm.s9
1 files changed, 6 insertions, 3 deletions
diff --git a/cortex-m-rt/asm.s b/cortex-m-rt/asm.s
index a5748a5..4636bc3 100644
--- a/cortex-m-rt/asm.s
+++ b/cortex-m-rt/asm.s
@@ -1,7 +1,10 @@
- .section .text.HardFault
+ # LLD requires that the section flags are explicitly set here
+ .section .HardFault, "ax"
.global HardFault
+ # .type and .thumb_func are both required; otherwise its Thumb bit does not
+ # get set and an invalid vector table is generated
+ .type HardFault,%function
.thumb_func
HardFault:
- push {r0, lr}
mrs r0, MSP
- bl UserHardFault
+ b UserHardFault