diff mbox

ARM: fix v7M build for !CONFIG_PRINTK

Message ID 1421036749-5308-1-git-send-email-robh@kernel.org (mailing list archive)
State New, archived
Headers show

Commit Message

Rob Herring (Arm) Jan. 12, 2015, 4:25 a.m. UTC
Minimal builds for v7M are broken when printk is disabled. The caller is
assembly so add the necessary ifdef around the call.

Signed-off-by: Rob Herring <robh@kernel.org>
---
 arch/arm/kernel/entry-v7m.S | 2 ++
 1 file changed, 2 insertions(+)

Comments

Arnd Bergmann Jan. 12, 2015, 8:29 a.m. UTC | #1
On Sunday 11 January 2015 22:25:49 Rob Herring wrote:
> 
>  __invalid_entry:
>         v7m_exception_entry
> +#ifdef CONFIG_PRINTK
>         adr     r0, strerr
>         mrs     r1, ipsr
>         mov     r2, lr
>         bl      printk
> +#endif
>         mov     r0, sp
>         bl      show_regs
>  1:     b       1b
> 

Should the show_regs call be commented out as well? While
the function is still there without printk support, I believe
it doesn't actually do anything.

	Arnd
Rob Herring (Arm) Jan. 12, 2015, 3:38 p.m. UTC | #2
On Mon, Jan 12, 2015 at 2:29 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Sunday 11 January 2015 22:25:49 Rob Herring wrote:
>>
>>  __invalid_entry:
>>         v7m_exception_entry
>> +#ifdef CONFIG_PRINTK
>>         adr     r0, strerr
>>         mrs     r1, ipsr
>>         mov     r2, lr
>>         bl      printk
>> +#endif
>>         mov     r0, sp
>>         bl      show_regs
>>  1:     b       1b
>>
>
> Should the show_regs call be commented out as well? While
> the function is still there without printk support, I believe
> it doesn't actually do anything.

It does still call unwind_backtrace which still constructs the
backtrace from looking at the disassembly output. That's probably not
too useful unless it is saved to memory that could be examined with a
debugger. One would probably just enable printk at that point though.

Rob
diff mbox

Patch

diff --git a/arch/arm/kernel/entry-v7m.S b/arch/arm/kernel/entry-v7m.S
index 2260f18..8944f49 100644
--- a/arch/arm/kernel/entry-v7m.S
+++ b/arch/arm/kernel/entry-v7m.S
@@ -22,10 +22,12 @@ 
 
 __invalid_entry:
 	v7m_exception_entry
+#ifdef CONFIG_PRINTK
 	adr	r0, strerr
 	mrs	r1, ipsr
 	mov	r2, lr
 	bl	printk
+#endif
 	mov	r0, sp
 	bl	show_regs
 1:	b	1b