int128_t and uint128_t typeinfo

Dimitry Andric dim at FreeBSD.org
Tue Feb 21 17:26:13 UTC 2017


On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.brandt at dlr.de> wrote:
> 
> it looks like the typeinfo for __int128_t and __uint128_t is missing from our dynamically linked libcxxrt. I added it like:
> 
> Index: lib/libcxxrt/Version.map
> ===================================================================
> --- lib/libcxxrt/Version.map	(revision 313007)
> +++ lib/libcxxrt/Version.map	(working copy)
> @@ -192,6 +192,11 @@
>         "typeinfo name for unsigned short";
>         "typeinfo name for double";
> 
> +        "typeinfo for __int128";
> +        "typeinfo for unsigned __int128";
> +        "typeinfo name for __int128";
> +        "typeinfo name for unsigned __int128";
> +
>         "typeinfo name for bool*";
>         "typeinfo name for wchar_t*";
>         "typeinfo name for short*";
> 
> I'm not sure whether this is the right place in the file where to add it. Could somebody please check?

Yes, this is the right place, though with a few caveats:
* We also need to add the typeinfo for __u?int128_t * and __u?int128_t
  const *
* Maybe these should be under the CXXABI_2.0 version, since that is
  where newer libstdc++ places them
* Maybe these should be dependent on whether the architecture supports
  128 bit integers at all

I need to think a bit on the above, then I'll commit a fix.

-Dimitry

P.S.: I'm going to ignore libstdc++ in base, since it is obsolete.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 163 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20170221/fe6c6309/attachment.sig>


More information about the freebsd-current mailing list