Thread (22 messages) 22 messages, 4 authors, 2022-06-24

Re: [RFC PATCH v2 0/7] objtool: Enable and implement --mcount option on powerpc

From: Christophe Leroy <hidden>
Date: 2022-06-15 16:03:50
Also in: lkml


Le 25/05/2022 à 20:12, Sathvika Vasireddy a écrit :
On 25/05/22 23:09, Christophe Leroy wrote:
quoted
Hi Sathvika,

Le 25/05/2022 à 12:14, Sathvika Vasireddy a écrit :
quoted
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 ?
Yeah, I think it makes more sense if we make it arch specific.
Thanks for the suggestion. I'll make this change in next revision :-)
Do you have any idea when you plan to send next revision ?

I'm really looking forward to submitting the inline static calls on top 
of your series.

Thanks
Christophe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help