[PATCH 2/2] FRV: Stop gcc from generating uninitialised variablewarnings after BUG()

From: David Howells
Date: Mon Apr 27 2009 - 06:57:22 EST


Stop gcc from generating uninitialised variable warnings after BUG(). The
problem is that FRV's call into its gdbstub appears to return (if the function
is marked noreturn, then the compiler is under no obligation to pass it a
return address, and so GDB won't know where the bug happened).

To get around this, we make the do...while wrapper in _debug_bug_trap() an
endless loop from which there's no escape.

Signed-off-by: David Howells <dhowells@xxxxxxxxxx>
---

arch/frv/include/asm/bug.h | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)


diff --git a/arch/frv/include/asm/bug.h b/arch/frv/include/asm/bug.h
index 6b1b44d..2e05450 100644
--- a/arch/frv/include/asm/bug.h
+++ b/arch/frv/include/asm/bug.h
@@ -30,7 +30,7 @@ extern void __debug_bug_printk(const char *file, unsigned line);
do { \
__debug_bug_trap(signr); \
asm volatile("nop"); \
-} while(0)
+} while(1)

#define HAVE_ARCH_BUG
#define BUG() \
@@ -46,7 +46,8 @@ do { \
#define HAVE_ARCH_KGDB_BAD_PAGE
#define kgdb_bad_page(page) do { kgdb_raise(SIGABRT); } while(0)
#endif
-#endif
+
+#endif /* CONFIG_BUG */

#include <asm-generic/bug.h>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/