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.15-1158-gc08010c


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  c08010c7cdea229bc3b27ecf42855d32daffd71e (commit)
       via  a728a38fb658f8b2f0acbea8a586db8bd054f3fe (commit)
      from  6e230d11837f3ae7b375ea69d7905f0d18eb79e5 (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=c08010c7cdea229bc3b27ecf42855d32daffd71e

commit c08010c7cdea229bc3b27ecf42855d32daffd71e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 6 10:13:19 2012 -0700

    Use x86_64 fpu/bits/fenv.h for i386 and x86_64

diff --git a/ChangeLog b/ChangeLog
index af2c41b..ac4e95f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,12 @@
 2012-06-06  H.J. Lu  <hongjiu.lu@intel.com>
 
 	[BZ #14117]
+	* sysdeps/i386/fpu/bits/fenv.h: Removed.
+	* sysdeps/i386/fpu/Implies: New file.
+	* sysdeps/x86_64/fpu/Implies: Likewise.
+	* sysdeps/x86_64/fpu/bits/fenv.h: Renamed to ...
+	* sysdeps/x86/fpu/bits/fenv.h: This.
+
 	* sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Check
 	__SSE_MATH__.
 
diff --git a/sysdeps/i386/fpu/Implies b/sysdeps/i386/fpu/Implies
new file mode 100644
index 0000000..2b745a3
--- /dev/null
+++ b/sysdeps/i386/fpu/Implies
@@ -0,0 +1 @@
+x86/fpu
diff --git a/sysdeps/i386/fpu/bits/fenv.h b/sysdeps/i386/fpu/bits/fenv.h
deleted file mode 100644
index e71ceb7..0000000
--- a/sysdeps/i386/fpu/bits/fenv.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _FENV_H
-# error "Never use <bits/fenv.h> directly; include <fenv.h> instead."
-#endif
-
-
-/* Define bits representing the exception.  We use the bit positions
-   of the appropriate bits in the FPU control word.  */
-enum
-  {
-    FE_INVALID = 0x01,
-#define FE_INVALID	FE_INVALID
-    __FE_DENORM = 0x02,
-    FE_DIVBYZERO = 0x04,
-#define FE_DIVBYZERO	FE_DIVBYZERO
-    FE_OVERFLOW = 0x08,
-#define FE_OVERFLOW	FE_OVERFLOW
-    FE_UNDERFLOW = 0x10,
-#define FE_UNDERFLOW	FE_UNDERFLOW
-    FE_INEXACT = 0x20
-#define FE_INEXACT	FE_INEXACT
-  };
-
-#define FE_ALL_EXCEPT \
-	(FE_INEXACT | FE_DIVBYZERO | FE_UNDERFLOW | FE_OVERFLOW | FE_INVALID)
-
-/* The ix87 FPU supports all of the four defined rounding modes.  We
-   use again the bit positions in the FPU control word as the values
-   for the appropriate macros.  */
-enum
-  {
-    FE_TONEAREST = 0,
-#define FE_TONEAREST	FE_TONEAREST
-    FE_DOWNWARD = 0x400,
-#define FE_DOWNWARD	FE_DOWNWARD
-    FE_UPWARD = 0x800,
-#define FE_UPWARD	FE_UPWARD
-    FE_TOWARDZERO = 0xc00
-#define FE_TOWARDZERO	FE_TOWARDZERO
-  };
-
-
-/* Type representing exception flags.  */
-typedef unsigned short int fexcept_t;
-
-
-/* Type representing floating-point environment.  This function corresponds
-   to the layout of the block written by the `fstenv'.  */
-typedef struct
-  {
-    unsigned short int __control_word;
-    unsigned short int __unused1;
-    unsigned short int __status_word;
-    unsigned short int __unused2;
-    unsigned short int __tags;
-    unsigned short int __unused3;
-    unsigned int __eip;
-    unsigned short int __cs_selector;
-    unsigned int __opcode:11;
-    unsigned int __unused4:5;
-    unsigned int __data_offset;
-    unsigned short int __data_selector;
-    unsigned short int __unused5;
-  }
-fenv_t;
-
-/* If the default argument is used we use this value.  */
-#define FE_DFL_ENV	((const fenv_t *) -1)
-
-#ifdef __USE_GNU
-/* Floating-point environment where none of the exception is masked.  */
-# define FE_NOMASK_ENV	((const fenv_t *) -2)
-#endif
-
-
-#ifdef __USE_EXTERN_INLINES
-__BEGIN_DECLS
-
-/* Optimized versions.  */
-extern int __REDIRECT_NTH (__feraiseexcept_renamed, (int), feraiseexcept);
-__extern_inline int
-__NTH (feraiseexcept (int __excepts))
-{
-  if (__builtin_constant_p (__excepts)
-      && (__excepts & ~(FE_INVALID | FE_DIVBYZERO)) == 0)
-    {
-      if ((FE_INVALID & __excepts) != 0)
-	{
-	  /* One example of a invalid operation is 0.0 / 0.0.  */
-	  float __f = 0.0;
-
-# ifdef __SSE_MATH__
-	  __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
-# else
-	  __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
-				: "=t" (__f) : "0" (__f));
-# endif
-	  (void) &__f;
-	}
-      if ((FE_DIVBYZERO & __excepts) != 0)
-	{
-	  float __f = 1.0;
-	  float __g = 0.0;
-
-# ifdef __SSE_MATH__
-	  __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
-# else
-	  __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
-				: "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
-# endif
-	  (void) &__f;
-	}
-
-      return 0;
-    }
-
-  return __feraiseexcept_renamed (__excepts);
-}
-
-__END_DECLS
-#endif
diff --git a/sysdeps/x86_64/fpu/bits/fenv.h b/sysdeps/x86/fpu/bits/fenv.h
similarity index 100%
rename from sysdeps/x86_64/fpu/bits/fenv.h
rename to sysdeps/x86/fpu/bits/fenv.h
diff --git a/sysdeps/x86_64/fpu/Implies b/sysdeps/x86_64/fpu/Implies
new file mode 100644
index 0000000..2b745a3
--- /dev/null
+++ b/sysdeps/x86_64/fpu/Implies
@@ -0,0 +1 @@
+x86/fpu

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a728a38fb658f8b2f0acbea8a586db8bd054f3fe

commit a728a38fb658f8b2f0acbea8a586db8bd054f3fe
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Wed Jun 6 10:11:14 2012 -0700

    Check __SSE_MATH__ in x86_64 feraiseexcept

diff --git a/ChangeLog b/ChangeLog
index b2fd481..af2c41b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2012-06-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+	[BZ #14117]
+	* sysdeps/x86_64/fpu/bits/fenv.h (feraiseexcept): Check
+	__SSE_MATH__.
+
 2012-06-06  Siddhesh Poyarekar  <siddhesh@redhat.com>
 
 	[BZ #14134]
diff --git a/sysdeps/x86_64/fpu/bits/fenv.h b/sysdeps/x86_64/fpu/bits/fenv.h
index bb790c9..b2c01c4 100644
--- a/sysdeps/x86_64/fpu/bits/fenv.h
+++ b/sysdeps/x86_64/fpu/bits/fenv.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997-2001,2004,2011,2012 Free Software Foundation, Inc.
+/* Copyright (C) 1997-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -109,7 +109,12 @@ __NTH (feraiseexcept (int __excepts))
 	  /* One example of a invalid operation is 0.0 / 0.0.  */
 	  float __f = 0.0;
 
+# ifdef __SSE_MATH__
 	  __asm__ __volatile__ ("divss %0, %0 " : : "x" (__f));
+# else
+	  __asm__ __volatile__ ("fdiv %%st, %%st(0); fwait"
+				: "=t" (__f) : "0" (__f));
+# endif
 	  (void) &__f;
 	}
       if ((FE_DIVBYZERO & __excepts) != 0)
@@ -117,7 +122,12 @@ __NTH (feraiseexcept (int __excepts))
 	  float __f = 1.0;
 	  float __g = 0.0;
 
+# ifdef __SSE_MATH__
 	  __asm__ __volatile__ ("divss %1, %0" : : "x" (__f), "x" (__g));
+# else
+	  __asm__ __volatile__ ("fdivp %%st, %%st(1); fwait"
+				: "=t" (__f) : "0" (__f), "u" (__g) : "st(1)");
+# endif
 	  (void) &__f;
 	}
 

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

Summary of changes:
 ChangeLog                             |   12 +++
 sysdeps/i386/fpu/Implies              |    1 +
 sysdeps/{i386 => x86}/fpu/bits/fenv.h |   10 ++-
 sysdeps/x86_64/fpu/Implies            |    1 +
 sysdeps/x86_64/fpu/bits/fenv.h        |  131 ---------------------------------
 5 files changed, 21 insertions(+), 134 deletions(-)
 create mode 100644 sysdeps/i386/fpu/Implies
 rename sysdeps/{i386 => x86}/fpu/bits/fenv.h (92%)
 create mode 100644 sysdeps/x86_64/fpu/Implies
 delete mode 100644 sysdeps/x86_64/fpu/bits/fenv.h


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]