在 2020/6/4 上午9:17, Maciej W. Rozycki 写道:
> On Fri, 29 May 2020, WANG Xuerui wrote:
>
>> On 2020/5/29 17:29, yuanjunqing wrote:
>>
>>>> diff --git a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S
>>>> index cff52b283e03..cd5545764e5f 100644
>>>> --- a/arch/mips/kernel/mcount.S
>>>> +++ b/arch/mips/kernel/mcount.S
>>>> @@ -87,8 +87,15 @@ EXPORT_SYMBOL(_mcount)
>>>>    PTR_LA   t1, _etext
>>>>    sltu     t3, t1, a0     /* t3 = (a0 > _etext) */
>>>>    or       t1, t2, t3
>>>> +  PTR_LA   t2, stlab-4    /* t2: "function:stacktrace" return address */
>>>> +  move     a1, AT         /* arg2: parent's return address */
>>>>    beqz     t1, ftrace_call
>>>> -   nop
>>>> +   nop                    /* "function:stacktrace" return address */
>>>> +stlab:
>>>> +  PTR_LA  t2, stlab-4
>>>> +  /* ftrace_call_end: ftrace_call return address */
>>>> +  beq     t2,ra, ftrace_call_end
>>>> +  nop
>  Broken delay slot indentation.

Thank you for your reply. For this question that you mentioned about the delay 
slot, I will modify my patch again.

>
>>>>   #if defined(KBUILD_MCOUNT_RA_ADDRESS) && defined(CONFIG_32BIT)
>>>>    PTR_SUBU a0, a0, 16     /* arg1: adjust to module's recorded callsite */
>>>>   #else
>>>> @@ -98,7 +105,9 @@ EXPORT_SYMBOL(_mcount)
>>>>    .globl ftrace_call
>>>>   ftrace_call:
>>>>    nop     /* a placeholder for the call to a real tracing function */
>>>> -   move   a1, AT          /* arg2: parent's return address */
>>>> +  move    ra, t2          /* t2: "function:stacktrace" return address */
>  Likewise.  NB I haven't investigated if the change makes sense.  A more 
> detailed explanation in the change description is certainly needed.

I will attach a specific description for further explanation about the second 
patch later.

>
>   Maciej

Reply via email to