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.28.9000-285-g9a7c643


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  9a7c643ac2c21e44d78f98ad9a974ea579bd2003 (commit)
      from  092dfde68f7d7e856479f49faf6e69d15293bc1c (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9a7c643ac2c21e44d78f98ad9a974ea579bd2003

commit 9a7c643ac2c21e44d78f98ad9a974ea579bd2003
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Mon Nov 12 18:47:05 2018 +0000

    Fix i686 build with GCC 9.
    
    This patch fixes the glibc build for i686 with current mainline GCC,
    where there are warnings about inconsistent attributes for aliases in
    certain files defining libm IFUNCs.
    
    In three of the files, the aliases were defined in terms of internal
    symbols such as __sinf, and copied attributes from file-local
    declarations of those functions which lacked the nothrow attribute.
    Since the nothrow attribute is present on the declarations from
    <math.h> (which include declarations of those __-prefixed functions),
    the natural fix was to include <math.h> in those files, replacing the
    local declarations.
    
    In the other three files, a more complicated __hidden_ver1 call was
    involved in the warnings.  <math.h> has not been included at this
    point and, furthermore, it is included indirectly only later in the
    source file after macros have been defined to remap a function name
    therein.  So there isn't an obvious declaration from which to copy the
    attribute and it seems simplest and safest just to add __THROW to the
    hidden_ver1 calls.
    
    Tested for i686 (build-many-glibcs.py compilers build for
    x86_64-linux-gnu with GCC mainline; full testsuite run with GCC 7).
    
    	* sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW
    	with __hidden_ver1 call.
    	* sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise.
    	* sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise.
    	* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include <math.h>.
    	(__cosf): Do not declare here.
    	* sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include <math.h>.
    	(__sincosf): Do not declare here.
    	* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include <math.h>.
    	(__sinf): Do not declare here.

diff --git a/ChangeLog b/ChangeLog
index c85af69..fd9ba11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2018-11-12  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/i386/i686/fpu/multiarch/e_expf.c [SHARED]: Use __THROW
+	with __hidden_ver1 call.
+	* sysdeps/i386/i686/fpu/multiarch/e_log2f.c [SHARED]: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/e_logf.c [SHARED]: Likewise.
+	* sysdeps/i386/i686/fpu/multiarch/s_cosf.c: Include <math.h>.
+	(__cosf): Do not declare here.
+	* sysdeps/i386/i686/fpu/multiarch/s_sincosf.c: Include <math.h>.
+	(__sincosf): Do not declare here.
+	* sysdeps/i386/i686/fpu/multiarch/s_sinf.c: Include <math.h>.
+	(__sinf): Do not declare here.
+
 	* sysdeps/ia64/fpu/sfp-machine.h (__LITTLE_ENDIAN): Remove.
 	(__BIG_ENDIAN): Likewise.
 	(__BYTE_ORDER): Likewise.
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_expf.c b/sysdeps/i386/i686/fpu/multiarch/e_expf.c
index 1f7c357..d11ca30 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_expf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_expf.c
@@ -26,7 +26,7 @@ libc_ifunc_redirected (__redirect_expf, __expf, IFUNC_SELECTOR ());
 #include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__expf_ia32, __GI___expf, __redirect_expf)
-  __attribute__ ((visibility ("hidden")));
+  __attribute__ ((visibility ("hidden"))) __THROW;
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __expf, expf, GLIBC_2_27);
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
index 3dacaa6..9c11536 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_log2f.c
@@ -26,7 +26,7 @@ libc_ifunc_redirected (__redirect_log2f, __log2f, IFUNC_SELECTOR ());
 #include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__log2f_ia32, __GI___log2f, __redirect_log2f)
-  __attribute__ ((visibility ("hidden")));
+  __attribute__ ((visibility ("hidden"))) __THROW;
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __log2f, log2f, GLIBC_2_27);
diff --git a/sysdeps/i386/i686/fpu/multiarch/e_logf.c b/sysdeps/i386/i686/fpu/multiarch/e_logf.c
index 1ce90e2..070e8b7 100644
--- a/sysdeps/i386/i686/fpu/multiarch/e_logf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/e_logf.c
@@ -26,7 +26,7 @@ libc_ifunc_redirected (__redirect_logf, __logf, IFUNC_SELECTOR ());
 #include <libm-alias-float.h>
 #ifdef SHARED
 __hidden_ver1 (__logf_ia32, __GI___logf, __redirect_logf)
-  __attribute__ ((visibility ("hidden")));
+  __attribute__ ((visibility ("hidden"))) __THROW;
 
 # include <shlib-compat.h>
 versioned_symbol (libm, __logf, logf, GLIBC_2_27);
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
index a4556a4..5295118 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_cosf.c
@@ -18,10 +18,10 @@
 
 #include <init-arch.h>
 #include <libm-alias-float.h>
+#include <math.h>
 
 extern float __cosf_sse2 (float);
 extern float __cosf_ia32 (float);
-float __cosf (float);
 
 libm_ifunc (__cosf, HAS_CPU_FEATURE (SSE2) ? __cosf_sse2 : __cosf_ia32);
 libm_alias_float (__cos, cos);
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
index 5f21f5c..164c97b 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_sincosf.c
@@ -18,10 +18,10 @@
 
 #include <init-arch.h>
 #include <libm-alias-float.h>
+#include <math.h>
 
 extern void __sincosf_sse2 (float, float *, float *);
 extern void __sincosf_ia32 (float, float *, float *);
-void __sincosf (float, float *, float *);
 
 libm_ifunc (__sincosf,
 	    HAS_CPU_FEATURE (SSE2) ? __sincosf_sse2 : __sincosf_ia32);
diff --git a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
index 80a7ffa..c69976b 100644
--- a/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
+++ b/sysdeps/i386/i686/fpu/multiarch/s_sinf.c
@@ -18,10 +18,10 @@
 
 #include <init-arch.h>
 #include <libm-alias-float.h>
+#include <math.h>
 
 extern float __sinf_sse2 (float);
 extern float __sinf_ia32 (float);
-float __sinf (float);
 
 libm_ifunc (__sinf, HAS_CPU_FEATURE (SSE2) ? __sinf_sse2 : __sinf_ia32);
 libm_alias_float (__sin, sin);

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

Summary of changes:
 ChangeLog                                   |   11 +++++++++++
 sysdeps/i386/i686/fpu/multiarch/e_expf.c    |    2 +-
 sysdeps/i386/i686/fpu/multiarch/e_log2f.c   |    2 +-
 sysdeps/i386/i686/fpu/multiarch/e_logf.c    |    2 +-
 sysdeps/i386/i686/fpu/multiarch/s_cosf.c    |    2 +-
 sysdeps/i386/i686/fpu/multiarch/s_sincosf.c |    2 +-
 sysdeps/i386/i686/fpu/multiarch/s_sinf.c    |    2 +-
 7 files changed, 17 insertions(+), 6 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]