Re: powerpc targets, long double implementation, and c++ programs

2006-09-11 Thread Joseph S. Myers
On Mon, 11 Sep 2006, Edmar Wienskoski wrote: > There are 2 issues here: > First, It is libgcc that is generating undefined references to __*tf* > functions. If gcc can provide them with "softfp_float_modes := sf df tf", I > think is reasonable to do that. For completeness sake you can do as you >

Re: powerpc targets, long double implementation, and c++ programs

2006-09-11 Thread David Edelsohn
> Edmar Wienskoski writes: Edmar> Second, is the long double ABI problem. In the past gcc always generated function calls to _q_* functions. (Per ABI Chapter 5) Edmar> For this code: Edmar> long double foo (long double x, long double y){ return x + y; } Edmar> gcc-4.0, target powerpc-eabise a

Re: powerpc targets, long double implementation, and c++ programs

2006-09-11 Thread Edmar Wienskoski
Joseph S. Myers wrote: On Fri, 8 Sep 2006, Edmar Wienskoski wrote: Ok. I am starting to see the whole picture now. So the whole thing appears to work with --disable-shared, just because the way the linker loads symbols in presence of libgcc_s.so versus libgcc.a. Follow up question: The e50

Re: powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread Joseph S. Myers
On Fri, 8 Sep 2006, Edmar Wienskoski wrote: > Ok. I am starting to see the whole picture now. > So the whole thing appears to work with --disable-shared, just because the way > the linker > loads symbols in presence of libgcc_s.so versus libgcc.a. > > Follow up question: > The e500 abi actualy de

Re: powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread Edmar Wienskoski
Ok. I am starting to see the whole picture now. So the whole thing appears to work with --disable-shared, just because the way the linker loads symbols in presence of libgcc_s.so versus libgcc.a. Follow up question: The e500 abi actualy defines long double to be 128bits floats. On rs6000.c, rs6

Re: powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread Joseph S. Myers
On Fri, 8 Sep 2006, David Edelsohn wrote: > Soft-float implementation of long double support is in development > but not complete. Long double requires double precision registers, so it > only will work with e500 double. It also requires floating point > multiply-subtract (fmsub), which e5

Re: powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread David Edelsohn
Soft-float implementation of long double support is in development but not complete. Long double requires double precision registers, so it only will work with e500 double. It also requires floating point multiply-subtract (fmsub), which e500 double does not appear to implement. This is

Re: powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread Joseph S. Myers
On Fri, 8 Sep 2006, Edmar Wienskoski wrote: > So the key questions are: > 1 - What should I expect in regards to __lttf2 (and similar symbols). > (like, when they should be defined, referenced, and when not) They should not be defined or used at all. IBM long double should use __gcc_*, and IEEE

powerpc targets, long double implementation, and c++ programs

2006-09-08 Thread Edmar Wienskoski
I am confused with gcc configuration, and I cannot determine if I have a bug or if I am misconfiguring the compiler. Here is the situation: gcc sources: 4.2 snapshot of 20060905 If compiler is configured with: --target=powerpc-*-linux-gnualtivec then I have the following libraries and everythin