2015-05-14 12:37:50

by Rabin Vincent

[permalink] [raw]
Subject: [PATCH 1/2] CRISv32: add unreachable() to BUG()

Add an unreachable() in the BUG() implementations, to get rid of
several warnings similar to the one below:

kernel/sched/core.c: In function 'pick_next_task':
kernel/sched/core.c:2690:1: warning: control reaches end of non-void function [-Wreturn-type]

Signed-off-by: Rabin Vincent <[email protected]>
---
arch/cris/include/arch-v32/arch/bug.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/arch/cris/include/arch-v32/arch/bug.h b/arch/cris/include/arch-v32/arch/bug.h
index 0f211e1..fb59faa 100644
--- a/arch/cris/include/arch-v32/arch/bug.h
+++ b/arch/cris/include/arch-v32/arch/bug.h
@@ -10,6 +10,7 @@
* All other stuff is done out-of-band with exception handlers.
*/
#define BUG() \
+do { \
__asm__ __volatile__ ("0: break 14\n\t" \
".section .fixup,\"ax\"\n" \
"1:\n\t" \
@@ -21,9 +22,15 @@
".section __ex_table,\"a\"\n\t" \
".dword 0b, 1b\n\t" \
".previous\n\t" \
- : : "ri" (__FILE__), "i" (__LINE__))
+ : : "ri" (__FILE__), "i" (__LINE__)); \
+ unreachable(); \
+} while (0)
#else
-#define BUG() __asm__ __volatile__ ("break 14\n\t")
+#define BUG() \
+do { \
+ __asm__ __volatile__ ("break 14\n\t"); \
+ unreachable(); \
+} while (0)
#endif

#define HAVE_ARCH_BUG
--
2.1.4


2015-05-14 12:37:53

by Rabin Vincent

[permalink] [raw]
Subject: [PATCH 2/2] CRISv32: allow CONFIG_DEBUG_BUGVERBOSE

Support for verbose BUG reporting already exists, but the HAVE flag that
allows the option to be enabled is missing.

Signed-off-by: Rabin Vincent <[email protected]>
---
arch/cris/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 0314e32..b202b82 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -58,6 +58,7 @@ config CRIS
select CLKSRC_MMIO if ETRAX_ARCH_V32
select GENERIC_CLOCKEVENTS if ETRAX_ARCH_V32
select GENERIC_SCHED_CLOCK if ETRAX_ARCH_V32
+ select HAVE_DEBUG_BUGVERBOSE if ETRAX_ARCH_V32

config HZ
int
--
2.1.4

2015-05-17 19:09:31

by Jesper Nilsson

[permalink] [raw]
Subject: Re: [PATCH 1/2] CRISv32: add unreachable() to BUG()

On Thu, May 14, 2015 at 02:36:55PM +0200, Rabin Vincent wrote:
> Add an unreachable() in the BUG() implementations, to get rid of
> several warnings similar to the one below:
>
> kernel/sched/core.c: In function 'pick_next_task':
> kernel/sched/core.c:2690:1: warning: control reaches end of non-void function [-Wreturn-type]

Thanks, applied!

/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]

2015-05-17 19:15:10

by Jesper Nilsson

[permalink] [raw]
Subject: Re: [PATCH 2/2] CRISv32: allow CONFIG_DEBUG_BUGVERBOSE

On Thu, May 14, 2015 at 02:36:56PM +0200, Rabin Vincent wrote:
> Support for verbose BUG reporting already exists, but the HAVE flag that
> allows the option to be enabled is missing.

Thanks, applied!

/^JN - Jesper Nilsson
--
Jesper Nilsson -- [email protected]