Re: [PATCH 2/2] kallsyms: expand symbol name into comment for debugging

From: Masahiro Yamada
Date: Mon Mar 06 2023 - 20:58:36 EST


On Mon, Mar 6, 2023 at 7:15 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> The assembler output of kallsyms.c is not meant for people to understand,
> and is generally not helpful when debugging "Inconsistent kallsyms data"
> warnings. I have previously struggled with these, but found it helpful
> to list which symbols changed between the first and second pass in the
> .tmp_vmlinux.kallsyms*.S files.
>
> As this file is preprocessed, it's possible to add a C-style multiline
> comment with the full type/name tuple.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> No idea if there is already a better way to debug this kind of problem,
> or if this causes a notable slowdown.
> ---
> scripts/kallsyms.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/kallsyms.c b/scripts/kallsyms.c
> index a239a87e7bec..ea1e3d3aaa6b 100644
> --- a/scripts/kallsyms.c
> +++ b/scripts/kallsyms.c
> @@ -525,7 +525,8 @@ static void write_src(void)
> table[i]->addr);
> exit(EXIT_FAILURE);
> }
> - printf("\t.long\t%#x\n", (int)offset);
> + expand_symbol(table[i]->sym, table[i]->len, buf);
> + printf("\t.long\t%#x /* %s */\n", (int)offset, buf);




This is printed only for base_relative,
but ia64 will go away sooner or later,
so this seems good to me.

Applied to linux-kbuild. Thanks.











> } else if (!symbol_absolute(table[i])) {
> output_address(table[i]->addr);
> } else {
> --
> 2.39.2
>


--
Best Regards
Masahiro Yamada