aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bors[bot] <26634292+bors[bot]@users.noreply.github.com> 2020-05-08 10:27:16 +0000
committerGravatar GitHub <noreply@github.com> 2020-05-08 10:27:16 +0000
commitc47591cd94c00bd1e4cc6bf457966657a7598451 (patch)
tree91bd474363bc3df968e6591b9f51db4a8617cf19
parent74944356f7d30c3578b1117410065a6271603b0e (diff)
parentaf3143c4d42f40ccb84b8fa9e76f0fbd6fa458c6 (diff)
downloadcortex-m-c47591cd94c00bd1e4cc6bf457966657a7598451.tar.gz
cortex-m-c47591cd94c00bd1e4cc6bf457966657a7598451.tar.zst
cortex-m-c47591cd94c00bd1e4cc6bf457966657a7598451.zip
Merge #216
216: Add unwind information to external assembly r=jonas-schievink a=Tiwalun Add unwind information to the external assembly files, as discussed in #215. The `.debug_frame` section is now present: ``` cortex-m.o (ex bin/thumbv6m-none-eabi.a): section size addr .text 0x0 0x0 .data 0x0 0x0 .bss 0x0 0x0 .text.__bkpt 0x4 0x0 .text.__control_r 0x6 0x0 .text.__control_w 0x6 0x0 .text.__cpsid 0x4 0x0 .text.__cpsie 0x4 0x0 .text.__delay 0x8 0x0 .text.__dmb 0x6 0x0 .text.__dsb 0x6 0x0 .text.__isb 0x6 0x0 .text.__msp_r 0x6 0x0 .text.__msp_w 0x6 0x0 .text.__nop 0x2 0x0 .text.__primask 0x6 0x0 .text.__psp_r 0x6 0x0 .text.__psp_w 0x6 0x0 .text.__sev 0x4 0x0 .text.__udf 0x2 0x0 .text.__wfe 0x4 0x0 .text.__wfi 0x4 0x0 .debug_line 0x161 0x0 .debug_info 0x22 0x0 .debug_abbrev 0x12 0x0 .debug_aranges 0xb0 0x0 .debug_str 0x30 0x0 .debug_ranges 0xa8 0x0 .debug_frame 0x140 0x0 .ARM.attributes 0x1c 0x0 Total 0x4d9 ``` Co-authored-by: Dominik Boehi <dominik.boehi@gmail.com>
-rw-r--r--asm-cm7-r0p1.s6
-rw-r--r--asm-v7.s10
-rw-r--r--asm-v8-main.s11
-rw-r--r--asm-v8.s10
-rw-r--r--asm.s38
-rw-r--r--bin/thumbv6m-none-eabi.abin5126 -> 5806 bytes
-rw-r--r--bin/thumbv7em-none-eabi.abin9422 -> 10570 bytes
-rw-r--r--bin/thumbv7em-none-eabihf.abin9422 -> 10570 bytes
-rw-r--r--bin/thumbv7m-none-eabi.abin7380 -> 8328 bytes
-rw-r--r--bin/thumbv8m.base-none-eabi.abin7310 -> 8254 bytes
-rw-r--r--bin/thumbv8m.main-none-eabi.abin11904 -> 13372 bytes
-rw-r--r--bin/thumbv8m.main-none-eabihf.abin11904 -> 13372 bytes
12 files changed, 74 insertions, 1 deletions
diff --git a/asm-cm7-r0p1.s b/asm-cm7-r0p1.s
index 9a1c0e3..28c3384 100644
--- a/asm-cm7-r0p1.s
+++ b/asm-cm7-r0p1.s
@@ -1,7 +1,10 @@
+ .cfi_sections .debug_frame
+
.section .text.__basepri_max_cm7_r0p1
.global __basepri_max_cm7_r0p1
.syntax unified
.thumb_func
+ .cfi_startproc
__basepri_max_cm7_r0p1:
mrs r1, PRIMASK
cpsid i
@@ -11,12 +14,14 @@ __basepri_max_cm7_r0p1:
bxne lr
cpsie i
bx lr
+ .cfi_endproc
.size __basepri_max_cm7_r0p1, . - __basepri_max_cm7_r0p1
.section .text.__basepri_w_cm7_r0p1
.global __basepri_w_cm7_r0p1
.syntax unified
.thumb_func
+ .cfi_startproc
__basepri_w_cm7_r0p1:
mrs r1, PRIMASK
cpsid i
@@ -26,4 +31,5 @@ __basepri_w_cm7_r0p1:
bxne lr
cpsie i
bx lr
+ .cfi_endproc
.size __basepri_w_cm7_r0p1, . - __basepri_w_cm7_r0p1
diff --git a/asm-v7.s b/asm-v7.s
index a98027c..fad6f4c 100644
--- a/asm-v7.s
+++ b/asm-v7.s
@@ -1,31 +1,41 @@
+ .cfi_sections .debug_frame
+
.section .text.__basepri_max
.global __basepri_max
.thumb_func
+ .cfi_startproc
__basepri_max:
msr BASEPRI_MAX, r0
bx lr
+ .cfi_endproc
.size __basepri_max, . - __basepri_max
.section .text.__basepri_r
.global __basepri_r
.thumb_func
+ .cfi_startproc
__basepri_r:
mrs r0, BASEPRI
bx lr
+ .cfi_endproc
.size __basepri_r, . - __basepri_r
.section .text.__basepri_w
.global __basepri_w
.thumb_func
+ .cfi_startproc
__basepri_w:
msr BASEPRI, r0
bx lr
+ .cfi_endproc
.size __basepri_w, . - __basepri_w
.section .text.__faultmask
.global __faultmask
.thumb_func
+ .cfi_startproc
__faultmask:
mrs r0, FAULTMASK
bx lr
+ .cfi_endproc
.size __faultmask, . - __faultmask
diff --git a/asm-v8-main.s b/asm-v8-main.s
index 2928b2a..1fad155 100644
--- a/asm-v8-main.s
+++ b/asm-v8-main.s
@@ -1,32 +1,43 @@
+
+ .cfi_sections .debug_frame
+
.section .text.__msplim_r
.global __msplim_r
.thumb_func
+ .cfi_startproc
__msplim_r:
mrs r0, MSPLIM
bx lr
+ .cfi_endproc
.size __msplim_r, . - __msplim_r
.section .text.__msplim_w
.global __msplim_w
.thumb_func
+ .cfi_startproc
__msplim_w:
msr MSPLIM, r0
bx lr
+ .cfi_endproc
.size __msplim_w, . - __msplim_w
.section .text.__psplim_r
.global __psplim_r
.thumb_func
+ .cfi_startproc
__psplim_r:
mrs r0, PSPLIM
bx lr
+ .cfi_endproc
.size __psplim_r, . - __psplim_r
.section .text.__psplim_w
.global __psplim_w
.thumb_func
+ .cfi_startproc
__psplim_w:
msr PSPLIM, r0
bx lr
+ .cfi_endproc
.size __psplim_w, . - __psplim_w
diff --git a/asm-v8.s b/asm-v8.s
index e1d62ff..7d3a8c9 100644
--- a/asm-v8.s
+++ b/asm-v8.s
@@ -1,32 +1,42 @@
+ .cfi_sections .debug_frame
+
.section .text.__tt
.global __tt
.thumb_func
+ .cfi_startproc
__tt:
tt r0, r0
bx lr
+ .cfi_endproc
.size __tt, . - __tt
.section .text.__ttt
.global __ttt
.thumb_func
+ .cfi_startproc
__ttt:
ttt r0, r0
bx lr
+ .cfi_endproc
.size __ttt, . - __ttt
.section .text.__tta
.global __tta
.thumb_func
+ .cfi_startproc
__tta:
tta r0, r0
bx lr
+ .cfi_endproc
.size __tta, . - __tta
.section .text.__ttat
.global __ttat
.thumb_func
+ .cfi_startproc
__ttat:
ttat r0, r0
bx lr
+ .cfi_endproc
.size __ttat, . - __ttat
diff --git a/asm.s b/asm.s
index 1c3fb58..3d1a54b 100644
--- a/asm.s
+++ b/asm.s
@@ -1,86 +1,108 @@
+ .cfi_sections .debug_frame
+
.section .text.__bkpt
.global __bkpt
.thumb_func
+ .cfi_startproc
__bkpt:
bkpt
bx lr
+ .cfi_endproc
.size __bkpt, . - __bkpt
.section .text.__control_r
.global __control_r
.thumb_func
+ .cfi_startproc
__control_r:
mrs r0, CONTROL
bx lr
+ .cfi_endproc
.size __control_r, . - __control_r
.section .text.__control_w
.global __control_w
.thumb_func
+ .cfi_startproc
__control_w:
msr CONTROL, r0
bx lr
+ .cfi_endproc
.size __control_w, . - __control_w
.section .text.__cpsid
.global __cpsid
.thumb_func
+ .cfi_startproc
__cpsid:
cpsid i
bx lr
+ .cfi_endproc
.size __cpsid, . - __cpsid
.section .text.__cpsie
.global __cpsie
.thumb_func
+ .cfi_startproc
__cpsie:
cpsie i
bx lr
+ .cfi_endproc
.size __cpsie, . - __cpsie
.section .text.__delay
.global __delay
.syntax unified
.thumb_func
+ .cfi_startproc
__delay:
1:
nop
subs r0, #1
bne 1b // Branch to 1 instead of __delay does not generate R_ARM_THM_JUMP8 relocation, which breaks linking on the thumbv6m-none-eabi target
bx lr
+ .cfi_endproc
.size __delay, . - __delay
.section .text.__dmb
.global __dmb
.thumb_func
+ .cfi_startproc
__dmb:
dmb 0xF
bx lr
+ .cfi_endproc
.size __dmb, . - __dmb
.section .text.__dsb
.global __dsb
.thumb_func
+ .cfi_startproc
__dsb:
dsb 0xF
bx lr
+ .cfi_endproc
.size __dsb, . - __dsb
.section .text.__isb
.global __isb
.thumb_func
+ .cfi_startproc
__isb:
isb 0xF
bx lr
+ .cfi_endproc
.size __isb, . - __isb
.section .text.__msp_r
.global __msp_r
.thumb_func
+ .cfi_startproc
__msp_r:
mrs r0, MSP
bx lr
+ .cfi_endproc
.size __msp_r, . - __msp_r
.section .text.__msp_w
@@ -94,24 +116,30 @@ __msp_w:
.section .text.__nop
.global __nop
.thumb_func
+ .cfi_startproc
__nop:
bx lr
+ .cfi_endproc
.size __nop, . - __nop
.section .text.__primask
.global __primask
.thumb_func
+ .cfi_startproc
__primask:
mrs r0, PRIMASK
bx lr
+ .cfi_endproc
.size __primask, . - __primask
.section .text.__psp_r
.global __psp_r
.thumb_func
+ .cfi_startproc
__psp_r:
mrs r0, PSP
bx lr
+ .cfi_endproc
.size __psp_r, . - __psp_r
.section .text.__psp_w
@@ -125,32 +153,40 @@ __psp_w:
.section .text.__sev
.global __sev
.thumb_func
+ .cfi_startproc
__sev:
sev
bx lr
+ .cfi_endproc
.size __sev, . - __sev
.section .text.__udf
.global __udf
.thumb_func
+ .cfi_startproc
__udf:
udf
+ .cfi_endproc
.size __udf, . - __udf
.section .text.__wfe
.global __wfe
.thumb_func
+ .cfi_startproc
__wfe:
wfe
bx lr
+ .cfi_endproc
.size __wfe, . - __wfe
.section .text.__wfi
.global __wfi
.thumb_func
+ .cfi_startproc
__wfi:
wfi
- .size __wfi, . - __wfi
bx lr
+ .cfi_endproc
+ .size __wfi, . - __wfi
diff --git a/bin/thumbv6m-none-eabi.a b/bin/thumbv6m-none-eabi.a
index 9dcc483..0014368 100644
--- a/bin/thumbv6m-none-eabi.a
+++ b/bin/thumbv6m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabi.a b/bin/thumbv7em-none-eabi.a
index fb3858b..f7dc35c 100644
--- a/bin/thumbv7em-none-eabi.a
+++ b/bin/thumbv7em-none-eabi.a
Binary files differ
diff --git a/bin/thumbv7em-none-eabihf.a b/bin/thumbv7em-none-eabihf.a
index fb3858b..f7dc35c 100644
--- a/bin/thumbv7em-none-eabihf.a
+++ b/bin/thumbv7em-none-eabihf.a
Binary files differ
diff --git a/bin/thumbv7m-none-eabi.a b/bin/thumbv7m-none-eabi.a
index 07855a9..f1f686d 100644
--- a/bin/thumbv7m-none-eabi.a
+++ b/bin/thumbv7m-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.base-none-eabi.a b/bin/thumbv8m.base-none-eabi.a
index 363a109..7711268 100644
--- a/bin/thumbv8m.base-none-eabi.a
+++ b/bin/thumbv8m.base-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabi.a b/bin/thumbv8m.main-none-eabi.a
index 001ebb2..ff78de2 100644
--- a/bin/thumbv8m.main-none-eabi.a
+++ b/bin/thumbv8m.main-none-eabi.a
Binary files differ
diff --git a/bin/thumbv8m.main-none-eabihf.a b/bin/thumbv8m.main-none-eabihf.a
index 001ebb2..ff78de2 100644
--- a/bin/thumbv8m.main-none-eabihf.a
+++ b/bin/thumbv8m.main-none-eabihf.a
Binary files differ