Re: [RFC PATCH v2 0/7] objtool: Enable and implement --mcount option on powerpc
From: Christophe Leroy <hidden>
Date: 2022-05-25 17:39:31
Also in:
lkml
Hi Sathvika, Le 25/05/2022 à 12:14, Sathvika Vasireddy a écrit :
quoted hunk ↗ jump to hunk
Hi Christophe, On 24/05/22 18:47, Christophe Leroy wrote:quoted
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