[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190618162021.GA4270@fuggles.cambridge.arm.com>
Date: Tue, 18 Jun 2019 17:20:21 +0100
From: Will Deacon <will.deacon@....com>
To: Arnd Bergmann <arnd@...db.de>
Cc: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Dave Martin <dave.martin@....com>,
Richard Henderson <rth@...ddle.net>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Ard Biesheuvel <ard.biesheuvel@...aro.org>
Subject: Re: [PATCH] genksyms: Teach parser about 128-bit built-in types
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@....com> 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
Powered by blists - more mailing lists