int128_t and uint128_t typeinfo

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

On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.brandt at> 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/
> ===================================================================
> --- lib/libcxxrt/	(revision 313007)
> +++ lib/libcxxrt/	(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.


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: <>

More information about the freebsd-current mailing list