[PATCH Mütze] ARM: don't let the unwinder depend on exception handling
Uwe Kleine-König
u.kleine-koenig at pengutronix.de
Fri Nov 6 01:29:12 PST 2015
To be able to use dump_stack() without support exception handling the
definition of dump_stack has to move to a file that is actually compiled
without ARM_EXCEPTIONS.
Fixes: d332597c7c16 ("ARM: make exception handling optional")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
---
arch/arm/Kconfig | 1 -
arch/arm/cpu/interrupts.c | 7 -------
arch/arm/lib/unwind.c | 5 +++++
3 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 203f912e96e5..dafbf7807bbb 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -317,7 +317,6 @@ config ARM_EXCEPTIONS
config ARM_UNWIND
bool "enable stack unwinding support"
depends on AEABI
- depends on ARM_EXCEPTIONS
help
This option enables stack unwinding support in barebox
using the information automatically generated by the
diff --git a/arch/arm/cpu/interrupts.c b/arch/arm/cpu/interrupts.c
index c437af71888a..fb4bb78daecf 100644
--- a/arch/arm/cpu/interrupts.c
+++ b/arch/arm/cpu/interrupts.c
@@ -71,13 +71,6 @@ void show_regs (struct pt_regs *regs)
#endif
}
-#ifdef CONFIG_ARM_UNWIND
-void dump_stack(void)
-{
- unwind_backtrace(NULL);
-}
-#endif
-
static void __noreturn do_exception(struct pt_regs *pt_regs)
{
show_regs(pt_regs);
diff --git a/arch/arm/lib/unwind.c b/arch/arm/lib/unwind.c
index 7932bca702f3..c3dca5b61d7e 100644
--- a/arch/arm/lib/unwind.c
+++ b/arch/arm/lib/unwind.c
@@ -331,6 +331,11 @@ void unwind_backtrace(struct pt_regs *regs)
}
}
+void dump_stack(void)
+{
+ unwind_backtrace(NULL);
+}
+
static int unwind_init(void)
{
struct unwind_idx *idx;
--
2.6.1
More information about the barebox
mailing list