lkml.org 
[lkml]   [2020]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] function:stacktrace/mips: Fix function:stacktrace for mips
From
Date

在 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

\
 
 \ /
  Last update: 2020-06-04 05:26    [W:0.050 / U:2.268 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site