Bug 6824 - Usage of __LONGDOUBLE128 instead of __LONG_DOUBLE_128__ causes PowerPC checklocal-plt make check failure
Summary: Usage of __LONGDOUBLE128 instead of __LONG_DOUBLE_128__ causes PowerPC checkl...
Status: RESOLVED FIXED
Alias: None
Product: glibc
Classification: Unclassified
Component: libc (show other bugs)
Version: 2.8
: P2 normal
Target Milestone: ---
Assignee: Ulrich Drepper
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-07 21:58 UTC by Ryan S. Arnold
Modified: 2014-07-04 05:40 UTC (History)
1 user (show)

See Also:
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
Last reconfirmed:
fweimer: security-


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan S. Arnold 2008-08-07 21:58:39 UTC
Erroneous usage of __LONGDOUBLE128 (which was introduced to GCC for AIX support)
was causing mathinline.h to lack an implementation of __signbitl for powerpc32.
 This caused checklocal-plt make check failure for PowerPC.

The correct define to use is __LONG_DOUBLE_128__.

diff -X /home/ryanarn/bin/dontdiff -uNr
glibc/sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h
glibc.new/sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h
--- glibc/sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h     2008-08-07
10:54:03.000000000 -0500
+++ glibc.new/sysdeps/unix/sysv/linux/powerpc/bits/mathinline.h 2008-08-07
16:17:36.000000000 -0500
@@ -72,7 +72,7 @@
   __extension__ union { double __d; int __i[2]; } __u = { __d: __x };
   return __u.__i[0] < 0;
 }
-#  ifdef __LONGDOUBLE128
+#  ifdef __LONG_DOUBLE_128__
 __MATH_INLINE int
 __NTH (__signbitl (long double __x))
 {

I'll post this to mainline with a ChangeLog after full testing with GCC 4.1 &
GCC 4.3 compilers and on different PowerPC arches.
Comment 1 Ulrich Drepper 2008-08-07 23:06:10 UTC
Applied to cvs.