ARM: 8455/1: define __BUG as asm(BUG_INSTR) without CONFIG_BUG
authorArnd Bergmann <arnd@arndb.de>
Thu, 19 Nov 2015 12:22:42 +0000 (13:22 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 3 Dec 2015 00:02:29 +0000 (00:02 +0000)
commite9c38ceba8d96304c75ca99f7e49060af3a7e063
tree312dedc9100aad77d99840c3ddb984956e5f083f
parenta4124e7296000242243996e1ae2601cfadf276a5
ARM: 8455/1: define __BUG as asm(BUG_INSTR) without CONFIG_BUG

Following (a long time after) a4b5d580e078 ("bug: Make BUG() always stop
the machine"), this adapts the ARM architecture to no longer rely
on the sub-optimal BUG() definition that has a silent endless loop
but instead use the same trapping instruction that we have for
the full BUG() support.

This avoids hundreds of warnings like

arch/arm/include/asm/xen/page.h: In function 'arbitrary_virt_to_machine':
arch/arm/include/asm/xen/page.h:85:1: warning: no return statement in function returning non-void [-Wreturn-type]

and also makes the code size slightly smaller. The behavior changes
from silently stopping the kernel to an oops, and follows what x86
does these days.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/bug.h