OSDN Git Service

ARM: kvm: fix a bad BSYM() usage
authorRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 21 Apr 2015 13:16:05 +0000 (14:16 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Fri, 8 May 2015 16:33:47 +0000 (17:33 +0100)
BSYM() should only be used when refering to local symbols in the same
assembly file which are resolved by the assembler, and not for
linker-fixed up symbols.  The use of BSYM() with panic is incorrect as
the linker is involved in fixing up this relocation, and it knows
whether panic() is ARM or Thumb.

Acked-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Dave Martin <Dave.Martin@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kvm/interrupts.S

index 79caf79..87847d2 100644 (file)
@@ -309,7 +309,7 @@ ENTRY(kvm_call_hyp)
 THUMB( orr     r2, r2, #PSR_T_BIT      )
        msr     spsr_cxsf, r2
        mrs     r1, ELR_hyp
-       ldr     r2, =BSYM(panic)
+       ldr     r2, =panic
        msr     ELR_hyp, r2
        ldr     r0, =\panic_str
        clrex                           @ Clear exclusive monitor