libc/arm: add missing .cfi_sections
The modifications added by the series "M-profile PACBTI-enablement" (see9d6b00511e
) have introduced a couple of .cfi_* instructions. Like fore6459123e4
, these instructions create object files which contain .eh_frame sections. However, ARM uses its own unwind info format, not .eh_frame, which is generated by ARM-specific directives, not .cfi_*. The .eh_frame sections are useless, but also not removed by strip and may be harmful with some linker scripts. Adding ".cfi_sections .debug_frame" (as in glibc) moves the generated directives towards .debug_frame instead of .eh_frame. Making them easier to handle. * libc/machine/arm/aeabi_memmove-thumb2.S: Use .cfi_sections .debug_frame. * libc/machine/arm/aeabi_memset-thumb2.S: Likewise. * libc/machine/arm/memchr.S: Likewise. * libc/machine/arm/memcpy-armv7m.S: Likewise. * libc/machine/arm/setjmp.S: Likewise. * libc/machine/arm/strlen-armv7.S: Likewise. * libc/machine/arm/strlen-thumb2-Os.S: Likewise.
This commit is contained in:
parent
80550ffc2e
commit
a7b62e886e
|
@ -36,6 +36,7 @@
|
||||||
ASM_ALIAS __aeabi_memmove8 __aeabi_memmove
|
ASM_ALIAS __aeabi_memmove8 __aeabi_memmove
|
||||||
__aeabi_memmove:
|
__aeabi_memmove:
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
prologue 4
|
prologue 4
|
||||||
cmp r0, r1
|
cmp r0, r1
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
.global __aeabi_memset
|
.global __aeabi_memset
|
||||||
.type __aeabi_memset, %function
|
.type __aeabi_memset, %function
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
ASM_ALIAS __aeabi_memset4 __aeabi_memset
|
ASM_ALIAS __aeabi_memset4 __aeabi_memset
|
||||||
ASM_ALIAS __aeabi_memset8 __aeabi_memset
|
ASM_ALIAS __aeabi_memset8 __aeabi_memset
|
||||||
|
|
|
@ -293,6 +293,7 @@ memchr:
|
||||||
.global memchr
|
.global memchr
|
||||||
.type memchr,%function
|
.type memchr,%function
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
memchr:
|
memchr:
|
||||||
@ r0 = start of memory to scan
|
@ r0 = start of memory to scan
|
||||||
|
|
|
@ -88,6 +88,7 @@
|
||||||
.thumb
|
.thumb
|
||||||
.thumb_func
|
.thumb_func
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
.type memcpy, %function
|
.type memcpy, %function
|
||||||
memcpy:
|
memcpy:
|
||||||
|
|
|
@ -183,6 +183,7 @@ SYM (.arm_start_of.\name):
|
||||||
MODE
|
MODE
|
||||||
.globl SYM (\name)
|
.globl SYM (\name)
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
TYPE (\name)
|
TYPE (\name)
|
||||||
SYM (\name):
|
SYM (\name):
|
||||||
|
|
|
@ -106,6 +106,7 @@
|
||||||
|
|
||||||
def_fn strlen p2align=6
|
def_fn strlen p2align=6
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
prologue 4 5 push_ip=HAVE_PAC_LEAF
|
prologue 4 5 push_ip=HAVE_PAC_LEAF
|
||||||
pld [srcin, #0]
|
pld [srcin, #0]
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
|
|
||||||
def_fn strlen p2align=1
|
def_fn strlen p2align=1
|
||||||
.fnstart
|
.fnstart
|
||||||
|
.cfi_sections .debug_frame
|
||||||
.cfi_startproc
|
.cfi_startproc
|
||||||
prologue
|
prologue
|
||||||
mov r3, r0
|
mov r3, r0
|
||||||
|
|
Loading…
Reference in New Issue