This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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;							\


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]