aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/arch/sh/include/asm/vmlinux.lds.h
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-14 01:58:43 +0900
committerPaul Mundt <lethal@linux-sh.org>2009-08-14 01:58:43 +0900
commitbd353861c735b2265c9d8b2559960c693e7c68ab (patch)
tree2cd13808cb4d50b6b4d63eff0d7ad5fa6d19f04d /arch/sh/include/asm/vmlinux.lds.h
parentsh: Use the new stack unwinder API (diff)
downloadwireguard-linux-bd353861c735b2265c9d8b2559960c693e7c68ab.tar.xz
wireguard-linux-bd353861c735b2265c9d8b2559960c693e7c68ab.zip
sh: dwarf unwinder support.
This is a first cut at a generic DWARF unwinder for the kernel. It's still lacking DWARF64 support and the DWARF expression support hasn't been tested very well but it is generating proper stacktraces on SH for WARN_ON() and NULL dereferences. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/vmlinux.lds.h')
-rw-r--r--arch/sh/include/asm/vmlinux.lds.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/sh/include/asm/vmlinux.lds.h b/arch/sh/include/asm/vmlinux.lds.h
new file mode 100644
index 000000000000..244ec4ad9a79
--- /dev/null
+++ b/arch/sh/include/asm/vmlinux.lds.h
@@ -0,0 +1,17 @@
+#ifndef __ASM_SH_VMLINUX_LDS_H
+#define __ASM_SH_VMLINUX_LDS_H
+
+#include <asm-generic/vmlinux.lds.h>
+
+#ifdef CONFIG_DWARF_UNWINDER
+#define DWARF_EH_FRAME \
+ .eh_frame : AT(ADDR(.eh_frame) - LOAD_OFFSET) { \
+ VMLINUX_SYMBOL(__start_eh_frame) = .; \
+ *(.eh_frame) \
+ VMLINUX_SYMBOL(__stop_eh_frame) = .; \
+ }
+#else
+#define DWARF_EH_FRAME
+#endif
+
+#endif /* __ASM_SH_VMLINUX_LDS_H */