about summary refs log tree commit diff
path: root/sysdeps/sparc/sparc32
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2013-01-21 14:13:04 -0800
committerDavid S. Miller <davem@davemloft.net>2013-01-21 14:15:30 -0800
commit7c1e01aabcec96173b6e276e67322125ec90dff7 (patch)
treeea47e29091c290fe359baad475699b33ddb86418 /sysdeps/sparc/sparc32
parentab087e0aa4bd9f12a73ca0b248f02d8a22d49e46 (diff)
downloadglibc-7c1e01aabcec96173b6e276e67322125ec90dff7.tar.gz
glibc-7c1e01aabcec96173b6e276e67322125ec90dff7.tar.xz
glibc-7c1e01aabcec96173b6e276e67322125ec90dff7.zip
Use libgcc unwinder for sparc backtraces, if available.
	* sysdeps/sparc/backtrace.c: New file.
	* sysdeps/sparc/sparc32/backtrace.h: New file.
	* sysdeps/sparc/sparc32/sparcv9/backtrace.h: New file.
	* sysdeps/sparc/sparc64/backtrace.h: New file.
	* sysdeps/sparc/sparc64/backtrace.c: Delete.
	* sysdeps/sparc/Makefile (CFLAGS-backtrace.c): Add
	-funwind-tables.
Diffstat (limited to 'sysdeps/sparc/sparc32')
-rw-r--r--sysdeps/sparc/sparc32/backtrace.h7
-rw-r--r--sysdeps/sparc/sparc32/sparcv9/backtrace.h7
2 files changed, 14 insertions, 0 deletions
diff --git a/sysdeps/sparc/sparc32/backtrace.h b/sysdeps/sparc/sparc32/backtrace.h
new file mode 100644
index 0000000000..089f8b4d28
--- /dev/null
+++ b/sysdeps/sparc/sparc32/backtrace.h
@@ -0,0 +1,7 @@
+/* Private macros for guiding the backtrace implementation, sparc32
+   version.  */
+
+#define backtrace_flush_register_windows() \
+	asm volatile ("ta %0" : : "i" (ST_FLUSH_WINDOWS))
+
+#define BACKTRACE_STACK_BIAS	0
diff --git a/sysdeps/sparc/sparc32/sparcv9/backtrace.h b/sysdeps/sparc/sparc32/sparcv9/backtrace.h
new file mode 100644
index 0000000000..8d6c756717
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/backtrace.h
@@ -0,0 +1,7 @@
+/* Private macros for guiding the backtrace implementation, sparc32 v9
+   version.  */
+
+#define backtrace_flush_register_windows() \
+	asm volatile ("flushw")
+
+#define BACKTRACE_STACK_BIAS	0