summary refs log tree commit diff
path: root/sysdeps/generic/sysdep.h
diff options
context:
space:
mode:
authorAndreas Jaeger <aj@suse.de>2003-05-30 16:12:18 +0000
committerAndreas Jaeger <aj@suse.de>2003-05-30 16:12:18 +0000
commit2b1c0eeae3100fc8dc64909a80ea34b2be49bf88 (patch)
treeb9d025fa6452dc0eaf5e43a52b82081f4a628934 /sysdeps/generic/sysdep.h
parentb34f9a90b100fa55a64cc9c52be9787608f6d1a0 (diff)
downloadglibc-2b1c0eeae3100fc8dc64909a80ea34b2be49bf88.tar.gz
glibc-2b1c0eeae3100fc8dc64909a80ea34b2be49bf88.tar.xz
glibc-2b1c0eeae3100fc8dc64909a80ea34b2be49bf88.zip
Update.
2003-05-30  Andreas Jaeger  <aj@suse.de>

	* sysdeps/x86_64/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
	Add CFI directives.

	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (RESTORE2): Add CFI
	directives.

	* sysdeps/generic/sysdep.h: Add CFI_* macros for C files.

	* sysdeps/unix/sysv/linux/x86_64/sysdep.h (SYSCALL_ERROR_HANDLER):
	Add CFI directives.
Diffstat (limited to 'sysdeps/generic/sysdep.h')
-rw-r--r--sysdeps/generic/sysdep.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/sysdeps/generic/sysdep.h b/sysdeps/generic/sysdep.h
index 3223c976e6..0feed3c4a8 100644
--- a/sysdeps/generic/sysdep.h
+++ b/sysdeps/generic/sysdep.h
@@ -66,5 +66,31 @@
 #  define cfi_offset(reg, off)
 # endif
 
+#else /* ! ASSEMBLER */
+# ifdef HAVE_ASM_CFI_DIRECTIVES
+#  define CFI_STRINGIFY(Name) CFI_STRINGIFY2 (Name)
+#  define CFI_STRINGIFY2(Name) #Name
+#  define CFI_STARTPROC	".cfi_startproc"
+#  define CFI_ENDPROC	".cfi_endproc"
+#  define CFI_DEF_CFA(reg, off)	\
+   ".cfi_def_cfa " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
+#  define CFI_DEF_CFA_REGISTER(reg) \
+   ".cfi_def_cfa_register " CFI_STRINGIFY(reg)
+#  define CFI_DEF_CFA_OFFSET(off) \
+   ".cfi_def_cfa_offset " CFI_STRINGIFY(off)
+#  define CFI_ADJUST_CFA_OFFSET(off) \
+   ".cfi_adjust_cfa_offset " CFI_STRINGIFY(off)
+#  define CFI_OFFSET(reg, off) \
+   ".cfi_offset " CFI_STRINGIFY(reg) "," CFI_STRINGIFY(off)
+# else
+#  define CFI_STARTPROC
+#  define CFI_ENDPROC
+#  define CFI_DEF_CFA(reg, off)
+#  define CFI_DEF_CFA_REGISTER(reg)
+#  define CFI_DEF_CFA_OFFSET(off)
+#  define CFI_ADJUST_CFA_OFFSET(off)
+#  define CFI_OFFSET(reg, off)
+# endif
 
 #endif /* __ASSEMBLER__ */
+