lkml.org 
[lkml]   [2022]   [May]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [RFC PATCH v2 0/7] objtool: Enable and implement --mcount option on powerpc
Date
Hi Sathvika,

Le 25/05/2022 à 12:14, Sathvika Vasireddy a écrit :
> Hi Christophe,
>
> On 24/05/22 18:47, Christophe Leroy wrote:
>> This draft series adds PPC32 support to Sathvika's series.
>> Verified on pmac32 on QEMU.
>>
>> It should in principle also work for PPC64 BE but for the time being
>> something goes wrong. In the beginning I had a segfaut hence the first
>> patch. But I still get no mcount section in the files.
> Since PPC64 BE uses older elfv1 ABI, it prepends a dot to symbols.
> And so, the relocation records in case of PPC64BE point to "._mcount",
> rather than just "_mcount". We should be looking for "._mcount" to be
> able to generate mcount_loc section in the files.
>
> Like:
>
> diff --git a/tools/objtool/check.c b/tools/objtool/check.c
> index 70be5a72e838..7da5bf8c7236 100644
> --- a/tools/objtool/check.c
> +++ b/tools/objtool/check.c
> @@ -2185,7 +2185,7 @@ static int classify_symbols(struct objtool_file
> *file)
>                         if (arch_is_retpoline(func))
>                                 func->retpoline_thunk = true;
>
> -                       if ((!strcmp(func->name, "__fentry__")) ||
> (!strcmp(func->name, "_mcount")))
> +                       if ((!strcmp(func->name, "__fentry__")) ||
> (!strcmp(func->name, "_mcount")) || (!strcmp(func->name, "._mcount")))
>                                 func->fentry = true;
>
>                         if (is_profiling_func(func->name))
>
>
> With this change, I could see __mcount_loc section being
> generated in individual ppc64be object files.
>

Or should we implement an equivalent of arch_ftrace_match_adjust() in
objtool ?

Christophe
\
 
 \ /
  Last update: 2022-05-25 19:40    [W:0.234 / U:1.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site