Re: [PATCH v2 01/19] tools: Add gendwarfksyms

From: Masahiro Yamada
Date: Tue Sep 10 2024 - 05:45:53 EST


On Fri, Sep 6, 2024 at 5:53 AM Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote:
>
> Hi,
>
> On Thu, Sep 5, 2024 at 2:30 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
> >
> > On Fri, Aug 16, 2024 at 2:39 AM Sami Tolvanen <samitolvanen@xxxxxxxxxx> wrote:
> > >
> > > +++ b/scripts/gendwarfksyms/gendwarfksyms.h
> > > @@ -0,0 +1,78 @@
> > > +/* SPDX-License-Identifier: GPL-2.0-or-later */
> > > +/*
> > > + * Copyright (C) 2024 Google LLC
> > > + */
> > > +
> > > +#include <dwarf.h>
> > > +#include <elfutils/libdw.h>
> > > +#include <elfutils/libdwfl.h>
> > > +#include <linux/hashtable.h>
> > > +#include <inttypes.h>
> > > +#include <stdlib.h>
> > > +#include <stdio.h>
> >
> >
> > Could you include external headers first,
> > then in-tree headers?
> > (and one blank line in-between).
>
> Sure, I'll reorder this.
>
> > Also, please consider using scripts/include/hashtable.h
> >
> >
> >
> > How about this?
> >
> >
> > #include <dwarf.h>
> > #include <elfutils/libdw.h>
> > #include <elfutils/libdwfl.h>
> > #include <inttypes.h>
> > #include <stdlib.h>
> > #include <stdio.h>
> >
> > #include <hashtable.h>
> >
> >
> >
> >
> >
> >
> > If necessary, you can use this patch too:
> > https://lore.kernel.org/linux-kbuild/20240904235500.700432-1-masahiroy@xxxxxxxxxx/T/#u
>
> Thanks for the patch! I think this would otherwise work, but I also
> need jhash (or a similar hash function), and I can't combine the
> tools/include version with this, because it ends up pulling in a
> duplicate definition of struct list_head. Would you consider adding a
> hash function as well?


I did it as a part of my kconfig works.

Check scripts/include/hash.h added by the following patches.

https://lore.kernel.org/linux-kbuild/20240908124352.1828890-1-masahiroy@xxxxxxxxxx/T/#mea41ff4c5b6c77aaaae1ed9dac6723bc2f705107
https://lore.kernel.org/linux-kbuild/20240908124352.1828890-1-masahiroy@xxxxxxxxxx/T/#m9050a270fedb7df9a54e843674bc9ad8fd068f57


I think simple helpers are enough for name_hash and addr_hash,
but please let me know if you encounter a problem.



--
Best Regards
Masahiro Yamada