[RFC PATCH v2 0/7] objtool: Enable and implement --mcount option on powerpc
Sathvika Vasireddy
sv at linux.vnet.ibm.com
Wed May 25 20:14:04 AEST 2022
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.
- Sathvika
More information about the Linuxppc-dev
mailing list