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