OSDN Git Service

powerpc/64s: Fix replay interrupt return label name
authorMichael Ellerman <mpe@ellerman.id.au>
Tue, 22 Aug 2017 01:51:37 +0000 (11:51 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 23 Aug 2017 12:27:05 +0000 (22:27 +1000)
In __replay_interrupt() we take the address of a local label so we can
return to it later. However the assembler turns the local label into a
symbol with a name like ".L1^B42" - where "^B" is literally "\002".
This does not make for pleasant stack traces. Fix it by giving the
label a sensible name.

Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/exceptions-64s.S

index e66cbb1..3c36ecb 100644 (file)
@@ -1671,7 +1671,7 @@ _GLOBAL(__replay_interrupt)
         * we don't give a damn about, so we don't bother storing them.
         */
        mfmsr   r12
-       LOAD_REG_ADDR(r11, 1f)
+       LOAD_REG_ADDR(r11, replay_interrupt_return)
        mfcr    r9
        ori     r12,r12,MSR_EE
        cmpwi   r3,0x900
@@ -1689,7 +1689,7 @@ FTR_SECTION_ELSE
        cmpwi   r3,0xa00
        beq     doorbell_super_common_msgclr
 ALT_FTR_SECTION_END_IFSET(CPU_FTR_HVMODE)
-1:
+replay_interrupt_return:
        blr
 
 _ASM_NOKPROBE_SYMBOL(__replay_interrupt)