RE: int128_t and uint128_t typeinfo

2017-02-23 Thread Hartmut.Brandt
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

2017-02-22 Thread Dimitry Andric
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

2017-02-22 Thread Hartmut.Brandt
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

2017-02-21 Thread Dimitry Andric
On 21 Feb 2017, at 18:26, Dimitry Andric  wrote:
> 
> 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

2017-02-21 Thread Dimitry Andric
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. 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