]> sourceware.org Git - newlib-cygwin.git/commit
libc/arm: add missing .cfi_sections
authorClément Chigot <chigot@adacore.com>
Mon, 10 Jun 2024 12:37:57 +0000 (14:37 +0200)
committerRichard Earnshaw <rearnsha@arm.com>
Tue, 9 Jul 2024 14:25:49 +0000 (15:25 +0100)
commita7b62e886ef877a423eccf708274dde4df3498da
treef7c306717bd52c0fc8b2a593e124498fb8e26ea4
parent80550ffc2ed6274531058059f577fc4a64f00404
libc/arm: add missing .cfi_sections

The modifications added by the series "M-profile PACBTI-enablement"
(see 9d6b00511e50a54d2472d11f75f7c0f2b4a98b24) have introduced a couple
of .cfi_* instructions.

Like for e6459123e497409a9e3d845c39829a9602ba55a4, 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.
newlib/libc/machine/arm/aeabi_memmove-thumb2.S
newlib/libc/machine/arm/aeabi_memset-thumb2.S
newlib/libc/machine/arm/memchr.S
newlib/libc/machine/arm/memcpy-armv7m.S
newlib/libc/machine/arm/setjmp.S
newlib/libc/machine/arm/strlen-armv7.S
newlib/libc/machine/arm/strlen-thumb2-Os.S
This page took 0.030968 seconds and 5 git commands to generate.