This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Recent libstdc++-v3 cmath.cc doesn't compile on alphaev6-unknown-linux-gnu


>>>>> Toon Moene writes:

Toon> Zack Weinberg wrote:
>> On Fri, Jun 09, 2000 at 10:49:36PM +0200, Toon Moene wrote:

>> > Well, it turns out that the libm on my system:
>> >
>> > $ ls /lib/libm*
>> > /lib/libm-2.1.1.so*  /lib/libm.so.6.1@
>> >
>> > $ nm /lib/libm.so.6.1 | grep acosl
>> > 0000000000019020 t __acosl
>> > 000000000001d000 t __cacosl
>> > 0000000000019020 W acosl
>> > 000000000001d000 W cacosl

>> > contains acosl [et al.], but there's no header file with a prototype for
>> > it:

>> > $ grep acosl `find /usr/include -name '*.h' -print`
>> > <nothing>

>> If this is glibc 2.1, the acosl prototype is (should be) created by
>> evil macros in math.h and bits/mathcalls.h.

>> $ cpp /usr/include/math.h |grep acosl
>> extern long double acosl (long double __x);
>> extern long double __acosl (long double __x);

Toon> Not over here:
You're running Linux on an Alpha, aren't you?

The difference between Alpha and e.g. ix86 is the definition of
__NO_LONG_DOUBLE_MATH which is done in <bits/mathdef.h> for Alpha but
not for ix86:

/usr/include/bits/mathdef.h:#ifndef __NO_LONG_DOUBLE_MATH
/usr/include/bits/mathdef.h:# define __NO_LONG_DOUBLE_MATH      1

Toon> $ cpp /usr/include/math.h | grep acos
Toon> extern   double          acos          (double  __x)    ; extern  
Toon> double         __acos          (double  __x)      ;
Toon> extern   double          acosh          (double  __x)    ; extern  
Toon> double         __acosh          (double  __x)      ;
Toon> extern   float          acosf         (float   __x)    ; extern  
Toon> float         __acosf         (float   __x)      ;
Toon> extern   float          acoshf         (float   __x)    ; extern  
Toon> float         __acoshf         (float   __x)      ;

Toon> Is there something simple I can do to math.h or bits/mathcalls.h that
Toon> would solve this ?

Only a guess for a hack: Remove the define of __NO_LONG_DOUBLE_MATH.

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]