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 <[email protected]> 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. Will

