RE: int128_t and uint128_t typeinfo
Now that appears to work. Thanks, harti -Original Message- From: Dimitry Andric [mailto:d...@freebsd.org] Sent: Wednesday, February 22, 2017 7:49 PM To: Brandt, Hartmut Cc: curr...@freebsd.org Subject: Re: int128_t and uint128_t typeinfo I had to commit a follow-up fix in r314104: when C++ names are used in the version script, they have to be surrounded by an extern "C++" {} block, otherwise the symbols end up as locals in the final library, and thus get stripped out of the installed version. -Dimitry On 22 Feb 2017, at 16:19, hartmut.bra...@dlr.de wrote: > > Looks like they are still not there. I've rebuilt world. > > nm -D -C /usr/lib/libcxxrt.so | grep 128 > > should show me the symbols, right? It does not. > > harti > > -Original Message- > From: Dimitry Andric [mailto:d...@freebsd.org] > Sent: Tuesday, February 21, 2017 10:52 PM > To: Brandt, Hartmut > Cc: curr...@freebsd.org > Subject: Re: int128_t and uint128_t typeinfo > > On 21 Feb 2017, at 18:26, Dimitry Andric <d...@freebsd.org> wrote: >> >> On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.bra...@dlr.de> wrote: >>> >>> it looks like the typeinfo for __int128_t and __uint128_t is missing from >>> our dynamically linked libcxxrt. > ... >> * 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. > > Okay, can you please try r314061? > > -Dimitry > ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: int128_t and uint128_t typeinfo
I had to commit a follow-up fix in r314104: when C++ names are used in the version script, they have to be surrounded by an extern "C++" {} block, otherwise the symbols end up as locals in the final library, and thus get stripped out of the installed version. -Dimitry On 22 Feb 2017, at 16:19, hartmut.bra...@dlr.de wrote: > > Looks like they are still not there. I've rebuilt world. > > nm -D -C /usr/lib/libcxxrt.so | grep 128 > > should show me the symbols, right? It does not. > > harti > > -Original Message- > From: Dimitry Andric [mailto:d...@freebsd.org] > Sent: Tuesday, February 21, 2017 10:52 PM > To: Brandt, Hartmut > Cc: curr...@freebsd.org > Subject: Re: int128_t and uint128_t typeinfo > > On 21 Feb 2017, at 18:26, Dimitry Andric <d...@freebsd.org> wrote: >> >> On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.bra...@dlr.de> wrote: >>> >>> it looks like the typeinfo for __int128_t and __uint128_t is missing from >>> our dynamically linked libcxxrt. > ... >> * 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. > > Okay, can you please try r314061? > > -Dimitry > signature.asc Description: Message signed with OpenPGP
RE: int128_t and uint128_t typeinfo
Looks like they are still not there. I've rebuilt world. nm -D -C /usr/lib/libcxxrt.so | grep 128 should show me the symbols, right? It does not. harti -Original Message- From: Dimitry Andric [mailto:d...@freebsd.org] Sent: Tuesday, February 21, 2017 10:52 PM To: Brandt, Hartmut Cc: curr...@freebsd.org Subject: Re: int128_t and uint128_t typeinfo On 21 Feb 2017, at 18:26, Dimitry Andric <d...@freebsd.org> wrote: > > On 21 Feb 2017, at 13:48, Hartmut Brandt <hartmut.bra...@dlr.de> wrote: >> >> it looks like the typeinfo for __int128_t and __uint128_t is missing from >> our dynamically linked libcxxrt. ... > * 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. Okay, can you please try r314061? -Dimitry ___ freebsd-current@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
Re: int128_t and uint128_t typeinfo
On 21 Feb 2017, at 18:26, Dimitry Andricwrote: > > On 21 Feb 2017, at 13:48, Hartmut Brandt wrote: >> >> it looks like the typeinfo for __int128_t and __uint128_t is missing from >> our dynamically linked libcxxrt. ... > * 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. Okay, can you please try r314061? -Dimitry signature.asc Description: Message signed with OpenPGP
Re: int128_t and uint128_t typeinfo
On 21 Feb 2017, at 13:48, Hartmut Brandtwrote: > > 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. signature.asc Description: Message signed with OpenPGP