This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.17-128-g59981e9


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  59981e9b0df84aa91c52d21c54a7ed158a356aaa (commit)
      from  cfa8054fbb6212e64d54a3d4926972a6a20e3498 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=59981e9b0df84aa91c52d21c54a7ed158a356aaa

commit 59981e9b0df84aa91c52d21c54a7ed158a356aaa
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Jan 17 02:08:51 2013 +0000

    Adapt installed powerpc headers better for soft-float / no-FPRs.

diff --git a/ChangeLog b/ChangeLog
index 248e8df..56fa319 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2013-01-17  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/powerpc/bits/mathdef.h [_SOFT_FLOAT || __NO_FPRS__]
+	(FP_FAST_FMA): Do not define.
+	[_SOFT_FLOAT || __NO_FPRS__] (FP_FAST_FMAF): Likewise.
+	* sysdeps/powerpc/fpu/bits/fenvinline.h [__GNUC__ && !_SOFT_FLOAT
+	&& !__NO_MATH_INLINES]: Add [!__NO_FPRS__] condition.
+	* sysdeps/powerpc/fpu/bits/mathinline.h [__GNUC__ &&
+	!_SOFT_FLOAT]: Likewise.
+	* sysdeps/powerpc/fpu/fpu_control.h [_SOFT_FLOAT || __NO_FPRS__]
+	[_SOFT_FLOAT || __NO_FPRS__] (_FPU_RESERVED): Define with generic
+	value.
+	[_SOFT_FLOAT || __NO_FPRS__] (_FPU_DEFAULT): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (fpu_control_t): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (_FPU_GETCW): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (_FPU_SETCW): Likewise.
+	[_SOFT_FLOAT || __NO_FPRS__] (__fpu_control): Likewise.
+	[!_SOFT_FLOAT && !__NO_FPRS__]: Condition previous contents of
+	file.
+
 2013-01-16  Andreas Schwab  <schwab@suse.de>
 
 	[BZ #14327]
diff --git a/sysdeps/powerpc/bits/mathdef.h b/sysdeps/powerpc/bits/mathdef.h
index 288cc6c..b3c21fe 100644
--- a/sysdeps/powerpc/bits/mathdef.h
+++ b/sysdeps/powerpc/bits/mathdef.h
@@ -37,8 +37,10 @@ typedef double double_t;
 # define FP_ILOGB0	(-2147483647)
 # define FP_ILOGBNAN	(2147483647)
 
+# if !defined _SOFT_FLOAT && !defined __NO_FPRS__
 /* The powerpc has a combined multiply/add instruction.  */
-# define FP_FAST_FMA 1
-# define FP_FAST_FMAF 1
+#  define FP_FAST_FMA 1
+#  define FP_FAST_FMAF 1
+# endif
 
 #endif	/* ISO C99 */
diff --git a/sysdeps/powerpc/fpu/bits/fenvinline.h b/sysdeps/powerpc/fpu/bits/fenvinline.h
index 44b4d44..0720795 100644
--- a/sysdeps/powerpc/fpu/bits/fenvinline.h
+++ b/sysdeps/powerpc/fpu/bits/fenvinline.h
@@ -16,7 +16,8 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_MATH_INLINES
+#if (defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__	\
+     && !defined __NO_MATH_INLINES)
 
 /* Inline definition for fegetround.  */
 # define fegetround() \
@@ -56,4 +57,4 @@
       : 0)								      \
    : (feclearexcept) (__excepts))
 
-#endif /* __GNUC__ && !_SOFT_FLOAT */
+#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
diff --git a/sysdeps/powerpc/fpu/bits/mathinline.h b/sysdeps/powerpc/fpu/bits/mathinline.h
index b0b1a96..140fff0 100644
--- a/sysdeps/powerpc/fpu/bits/mathinline.h
+++ b/sysdeps/powerpc/fpu/bits/mathinline.h
@@ -26,7 +26,7 @@
 # define __MATH_INLINE __extern_inline
 #endif  /* __cplusplus */
 
-#if defined __GNUC__ && !defined _SOFT_FLOAT
+#if defined __GNUC__ && !defined _SOFT_FLOAT && !defined __NO_FPRS__
 
 #ifdef __USE_ISOC99
 # if !__GNUC_PREREQ (2,97)
@@ -127,4 +127,4 @@ __NTH (fdimf (float __x, float __y))
 
 #endif /* __USE_ISOC99 */
 #endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
-#endif /* __GNUC__ && !_SOFT_FLOAT */
+#endif /* __GNUC__ && !_SOFT_FLOAT && !__NO_FPRS__ */
diff --git a/sysdeps/powerpc/fpu/fpu_control.h b/sysdeps/powerpc/fpu/fpu_control.h
index 09342fb..159543b 100644
--- a/sysdeps/powerpc/fpu/fpu_control.h
+++ b/sysdeps/powerpc/fpu/fpu_control.h
@@ -19,42 +19,53 @@
 #ifndef _FPU_CONTROL_H
 #define _FPU_CONTROL_H
 
+#if defined _SOFT_FLOAT || defined __NO_FPRS__
+
+# define _FPU_RESERVED 0xffffffff
+# define _FPU_DEFAULT  0x00000000 /* Default value.  */
+typedef unsigned int fpu_control_t;
+# define _FPU_GETCW(cw) (cw) = 0
+# define _FPU_SETCW(cw) (void) (cw)
+extern fpu_control_t __fpu_control;
+
+#else /* PowerPC 6xx floating-point.  */
+
 /* rounding control */
-#define _FPU_RC_NEAREST 0x00   /* RECOMMENDED */
-#define _FPU_RC_DOWN    0x03
-#define _FPU_RC_UP      0x02
-#define _FPU_RC_ZERO    0x01
+# define _FPU_RC_NEAREST 0x00   /* RECOMMENDED */
+# define _FPU_RC_DOWN    0x03
+# define _FPU_RC_UP      0x02
+# define _FPU_RC_ZERO    0x01
 
-#define _FPU_MASK_NI  0x04 /* non-ieee mode */
+# define _FPU_MASK_NI  0x04 /* non-ieee mode */
 
 /* masking of interrupts */
-#define _FPU_MASK_ZM  0x10 /* zero divide */
-#define _FPU_MASK_OM  0x40 /* overflow */
-#define _FPU_MASK_UM  0x20 /* underflow */
-#define _FPU_MASK_XM  0x08 /* inexact */
-#define _FPU_MASK_IM  0x80 /* invalid operation */
+# define _FPU_MASK_ZM  0x10 /* zero divide */
+# define _FPU_MASK_OM  0x40 /* overflow */
+# define _FPU_MASK_UM  0x20 /* underflow */
+# define _FPU_MASK_XM  0x08 /* inexact */
+# define _FPU_MASK_IM  0x80 /* invalid operation */
 
-#define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
+# define _FPU_RESERVED 0xffffff00 /* These bits are reserved are not changed. */
 
 /* The fdlibm code requires no interrupts for exceptions.  */
-#define _FPU_DEFAULT  0x00000000 /* Default value.  */
+# define _FPU_DEFAULT  0x00000000 /* Default value.  */
 
 /* IEEE:  same as above, but (some) exceptions;
    we leave the 'inexact' exception off.
  */
-#define _FPU_IEEE     0x000000f0
+# define _FPU_IEEE     0x000000f0
 
 /* Type of the control word.  */
 typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
 
 /* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(__cw) ( { \
+# define _FPU_GETCW(__cw) ( { \
   union { double d; fpu_control_t cw[2]; } \
     tmp __attribute__ ((__aligned__(8))); \
   __asm__ ("mffs 0; stfd%U0 0,%0" : "=m" (tmp.d) : : "fr0"); \
   (__cw)=tmp.cw[1]; \
   tmp.cw[1]; } )
-#define _FPU_SETCW(__cw) { \
+# define _FPU_SETCW(__cw) { \
   union { double d; fpu_control_t cw[2]; } \
     tmp __attribute__ ((__aligned__(8))); \
   tmp.cw[0] = 0xFFF80000; /* More-or-less arbitrary; this is a QNaN. */ \
@@ -65,4 +76,6 @@ typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
 /* Default control word set at startup.  */
 extern fpu_control_t __fpu_control;
 
+#endif /* PowerPC 6xx floating-point.  */
+
 #endif /* _FPU_CONTROL_H */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                             |   20 +++++++++++++++
 sysdeps/powerpc/bits/mathdef.h        |    6 +++-
 sysdeps/powerpc/fpu/bits/fenvinline.h |    5 ++-
 sysdeps/powerpc/fpu/bits/mathinline.h |    4 +-
 sysdeps/powerpc/fpu/fpu_control.h     |   43 +++++++++++++++++++++-----------
 5 files changed, 57 insertions(+), 21 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


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