From e6459123e497409a9e3d845c39829a9602ba55a4 Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 12 Nov 2015 12:09:24 +0000 Subject: Avoid .eh_frame in ARM newlib. ARM newlib has various strcmp implementations that use .cfi_* directives to generate unwind information. The effect of this is that the generated objects 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 loaded into memory at runtime. This patch fixes this by using .cfi_sections .debug_frame (as in glibc) so that the directives generate .debug_frame instead. .debug_frame is useful for the debugger, can be removed by strip, and is not loaded into memory at runtime. * libc/machine/arm/strcmp-arm-tiny.S: Use .cfi_sections .debug_frame. * libc/machine/arm/strcmp-armv4.S: Likewise. * libc/machine/arm/strcmp-armv4t.S: Likewise. * libc/machine/arm/strcmp-armv6.S: Likewise. * libc/machine/arm/strcmp-armv6m.S: Likewise. * libc/machine/arm/strcmp-armv7.S: Likewise. * libc/machine/arm/strcmp-armv7m.S: Likewise. --- newlib/libc/machine/arm/strcmp-armv6m.S | 1 + 1 file changed, 1 insertion(+) (limited to 'newlib/libc/machine/arm/strcmp-armv6m.S') diff --git a/newlib/libc/machine/arm/strcmp-armv6m.S b/newlib/libc/machine/arm/strcmp-armv6m.S index 932841d19..74f87cba2 100644 --- a/newlib/libc/machine/arm/strcmp-armv6m.S +++ b/newlib/libc/machine/arm/strcmp-armv6m.S @@ -53,6 +53,7 @@ .text def_fn strcmp + .cfi_sections .debug_frame .cfi_startproc mov r2, r0 push {r4, r5, r6, lr} -- cgit v1.2.3