Re: [PATCH] genksyms: Teach parser about 128-bit built-in types

From: Masahiro Yamada
Date: Fri Jun 21 2019 - 12:58:48 EST


On Wed, Jun 19, 2019 at 1:21 AM Will Deacon <will.deacon@xxxxxxx> wrote:
>
> Hi Arnd,
>
> On Tue, Jun 18, 2019 at 04:17:35PM +0200, Arnd Bergmann wrote:
> > On Tue, Jun 18, 2019 at 3:10 PM Will Deacon <will.deacon@xxxxxxx> wrote:
> > >
> > > + { "__int128", BUILTIN_INT_KEYW },
> > > + { "__int128_t", BUILTIN_INT_KEYW },
> > > + { "__uint128_t", BUILTIN_INT_KEYW },
> >
> > I wonder if it's safe to treat them as the same type, since
> > __int128_t and __uint128_t differ in signedness.
> >
> > If someone exports a symbol with one and changes it to the other, they
> > would appear to be the same type.
>
> My understanding is that the actual CRC generation for normal symbols is
> based purely on the string-representation of the function signature, and
> so the underlying type information isn't relevant to that. I can also
> confirm that the CRC for an exported symbol that returns a __uint128_t
> is not the same if you change it to return a __int128_t instead.

Right.
Applied to linux-kbuild. Thanks!


--
Best Regards
Masahiro Yamada