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:5.096 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site