Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Feb 2017 18:26:00 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Hartmut Brandt <hartmut.brandt@dlr.de>
Cc:        current@freebsd.org
Subject:   Re: int128_t and uint128_t typeinfo
Message-ID:  <54594A33-C1DE-4491-8AD2-04E354EC5FAE@FreeBSD.org>
In-Reply-To: <alpine.BSF.2.20.1702211347050.82742@KNOP-BEAGLE.kn.op.dlr.de>
References:  <alpine.BSF.2.20.1702211347050.82742@KNOP-BEAGLE.kn.op.dlr.de>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_E5BA89B5-8489-4A93-86A3-7B7846A3AB0E
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.brandt@dlr.de> wrote:
>=20
> it looks like the typeinfo for __int128_t and __uint128_t is missing =
from our dynamically linked libcxxrt. I added it like:
>=20
> Index: lib/libcxxrt/Version.map
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- 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";
>=20
> +        "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*";
>=20
> 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.


--Apple-Mail=_E5BA89B5-8489-4A93-86A3-7B7846A3AB0E
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAliseDAACgkQsF6jCi4glqNzhwCeI4ATx4sLJp2cf2Q+E+5HH0oP
otYAn3HGOkVXwXQNB6mCdvtcDVW7Qb2W
=c6Ll
-----END PGP SIGNATURE-----

--Apple-Mail=_E5BA89B5-8489-4A93-86A3-7B7846A3AB0E--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54594A33-C1DE-4491-8AD2-04E354EC5FAE>