This is the mail archive of the
libc-ports@sources.redhat.com
mailing list for the libc-ports project.
[PATCH] ARM: Macroize use of .cfi_sections directive.
- From: Roland McGrath <roland at hack dot frob dot com>
- To: libc-ports at sourceware dot org
- Date: Wed, 27 Feb 2013 16:43:38 -0800 (PST)
- Subject: [PATCH] ARM: Macroize use of .cfi_sections directive.
Some future ARM configurations might use DWARF2 CFI rather than EABI.
Using a macro for .cfi_sections makes it easy for a new sysdep.h file
to override the choice.
Thanks,
Roland
ports/ChangeLog.arm
2013-02-27 Roland McGrath <roland@hack.frob.com>
* sysdeps/arm/sysdep.h (CFI_SECTIONS): New macro.
(ENTRY): Use it.
* sysdeps/arm/dl-tlsdesc.S: Likewise.
* sysdeps/arm/dl-trampoline.S: Likewise.
* sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h (PSEUDO): Likewise.
--- a/ports/sysdeps/arm/dl-tlsdesc.S
+++ b/ports/sysdeps/arm/dl-tlsdesc.S
@@ -29,7 +29,7 @@
.text
@ emit debug information with cfi
@ use arm-specific pseudos for unwinding itself
- .cfi_sections .debug_frame
+ CFI_SECTIONS
.hidden _dl_tlsdesc_return
.global _dl_tlsdesc_return
.type _dl_tlsdesc_return,#function
--- a/ports/sysdeps/arm/dl-trampoline.S
+++ b/ports/sysdeps/arm/dl-trampoline.S
@@ -28,7 +28,7 @@
.text
.globl _dl_runtime_resolve
.type _dl_runtime_resolve, #function
- .cfi_sections .debug_frame
+ CFI_SECTIONS
cfi_startproc
.align 2
_dl_runtime_resolve:
@@ -77,7 +77,7 @@ _dl_runtime_resolve:
#ifndef PROF
.globl _dl_runtime_profile
.type _dl_runtime_profile, #function
- .cfi_sections .debug_frame
+ CFI_SECTIONS
cfi_startproc
.align 2
_dl_runtime_profile:
--- a/ports/sysdeps/arm/sysdep.h
+++ b/ports/sysdeps/arm/sysdep.h
@@ -63,10 +63,13 @@
.type C_SYMBOL_NAME(name),%function; \
.align ALIGNARG(4); \
C_LABEL(name) \
- .cfi_sections .debug_frame; \
+ CFI_SECTIONS; \
cfi_startproc; \
CALL_MCOUNT
+#define CFI_SECTIONS \
+ .cfi_sections .debug_frame
+
#undef END
#define END(name) \
cfi_endproc; \
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/sysdep-cancel.h
@@ -35,7 +35,7 @@
.type __##syscall_name##_nocancel,%function; \
.globl __##syscall_name##_nocancel; \
__##syscall_name##_nocancel: \
- .cfi_sections .debug_frame; \
+ CFI_SECTIONS; \
cfi_startproc; \
DO_CALL (syscall_name, args); \
cmn r0, $4096; \