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.26.9000-1007-g6642518


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  664251859260d3cca6a477fb08c3b9f2b78a4fd9 (commit)
      from  8e52f573a1e0c2c39968051bcf683805540deb03 (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=664251859260d3cca6a477fb08c3b9f2b78a4fd9

commit 664251859260d3cca6a477fb08c3b9f2b78a4fd9
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Dec 19 02:02:26 2017 +0000

    Fix m68k bits/mathinline.h attributes (bug 22631).
    
    m68k bits/mathinline.h declares various functions with const
    attributes.  These are inappropriate for functions that have results
    depending on the rounding mode; the machine-independent
    bits/mathcalls.h only uses const attributes for a very few functions
    with no rounding mode dependence, and the m68k header should do
    likewise.  GCC uses pure for such functions with -frounding-math,
    resulting in GCC mainline warning for conflicts with between the
    header and the built-in attributes and glibc failing to build for m68k
    with GCC mainline.
    
    This patch fixes the attributes to avoid using const except when
    bits/mathcalls.h does so.  (There are a few functions where maybe
    bits/mathcalls.h could do so but doesn't, but keeping the headers in
    sync in this regard seems to be the safe approach.)
    
    Tested compilation with build-many-glibcs.py with GCC mainline.
    
    	[BZ #22631]
    	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__m81_defun): Add
    	argument for attrubutes.  All callers changed.
    	(__inline_mathop1): Likewise.  All callers changed.
    	(__inline_mathop): Likewise.  All callers changed.
    	[__USE_MISC] (scalbn): Use __inline_forward instead of
    	__inline_forward_c.
    	[__USE_ISOC99] (scalbln): Likewise.
    	[__USE_ISOC99] (nearbyint): Likewise.
    	[__USE_ISOC99] (lrint): Likewise.
    	[__USE_MISC] (scalbnf): Likewise.
    	[__USE_ISOC99] (scalblnf): Likewise.
    	[__USE_ISOC99] (nearbyintf): Likewise.
    	[__USE_ISOC99] (lrintf): Likewise.
    	[__USE_MISC] (scalbnl): Likewise.
    	[__USE_ISOC99] (scalblnl): Likewise.
    	[__USE_ISOC99] (nearbyintl): Likewise.
    	[__USE_ISOC99] (lrintl): Likewise.
    	* sysdeps/m68k/m680x0/fpu/mathimpl.h: All callers of
    	__inline_mathop and __m81_defun changed.

diff --git a/ChangeLog b/ChangeLog
index 95e8df9..4f869a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,26 @@
 2017-12-19  Joseph Myers  <joseph@codesourcery.com>
 
+	[BZ #22631]
+	* sysdeps/m68k/m680x0/fpu/bits/mathinline.h (__m81_defun): Add
+	argument for attrubutes.  All callers changed.
+	(__inline_mathop1): Likewise.  All callers changed.
+	(__inline_mathop): Likewise.  All callers changed.
+	[__USE_MISC] (scalbn): Use __inline_forward instead of
+	__inline_forward_c.
+	[__USE_ISOC99] (scalbln): Likewise.
+	[__USE_ISOC99] (nearbyint): Likewise.
+	[__USE_ISOC99] (lrint): Likewise.
+	[__USE_MISC] (scalbnf): Likewise.
+	[__USE_ISOC99] (scalblnf): Likewise.
+	[__USE_ISOC99] (nearbyintf): Likewise.
+	[__USE_ISOC99] (lrintf): Likewise.
+	[__USE_MISC] (scalbnl): Likewise.
+	[__USE_ISOC99] (scalblnl): Likewise.
+	[__USE_ISOC99] (nearbyintl): Likewise.
+	[__USE_ISOC99] (lrintl): Likewise.
+	* sysdeps/m68k/m680x0/fpu/mathimpl.h: All callers of
+	__inline_mathop and __m81_defun changed.
+
 	* scripts/build-many-glibcs.py (Context.add_all_configs): Specify
 	CPU or FPU for ARM hard-float configurations.
 
diff --git a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
index dcc2a4e..ddf3856 100644
--- a/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
+++ b/sysdeps/m68k/m680x0/fpu/bits/mathinline.h
@@ -46,9 +46,9 @@
 # define __M81_MATH_INLINES	1
 #endif
 
-/* Define a const math function.  */
-#define __m81_defun(rettype, func, args)				      \
-  __m81_inline rettype __attribute__((__const__))			      \
+/* Define a math function.  */
+#define __m81_defun(rettype, func, args, attrs)	\
+  __m81_inline rettype attrs			\
   __m81_nth (__m81_u(func) args)
 
 /* Define the three variants of a math function that has a direct
@@ -57,17 +57,17 @@
    is the name of the fpu operation (without leading f).  */
 
 #ifdef __USE_ISOC99
-# define __inline_mathop(func, op)			\
-  __inline_mathop1(double, func, op)			\
-  __inline_mathop1(float, __CONCAT(func,f), op)	\
-  __inline_mathop1(long double, __CONCAT(func,l), op)
+# define __inline_mathop(func, op, attrs)			\
+  __inline_mathop1(double, func, op, attrs)			\
+  __inline_mathop1(float, __CONCAT(func,f), op, attrs)		\
+  __inline_mathop1(long double, __CONCAT(func,l), op, attrs)
 #else
-# define __inline_mathop(func, op)			\
-  __inline_mathop1(double, func, op)
+# define __inline_mathop(func, op, attrs)	\
+  __inline_mathop1(double, func, op, attrs)
 #endif
 
-#define __inline_mathop1(float_type,func, op)				      \
-  __m81_defun (float_type, func, (float_type __mathop_x))		      \
+#define __inline_mathop1(float_type,func, op, attrs)			      \
+  __m81_defun (float_type, func, (float_type __mathop_x), attrs)	      \
   {									      \
     float_type __result;						      \
     __asm __volatile__ ("f" __STRING(op) "%.x %1, %0"			      \
@@ -75,43 +75,43 @@
     return __result;							      \
   }
 
-__inline_mathop(__atan, atan)
-__inline_mathop(__cos, cos)
-__inline_mathop(__sin, sin)
-__inline_mathop(__tan, tan)
-__inline_mathop(__tanh, tanh)
-__inline_mathop(__fabs, abs)
+__inline_mathop(__atan, atan,)
+__inline_mathop(__cos, cos,)
+__inline_mathop(__sin, sin,)
+__inline_mathop(__tan, tan,)
+__inline_mathop(__tanh, tanh,)
+__inline_mathop(__fabs, abs, __attribute__ ((__const__)))
 
 #if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
-__inline_mathop(__rint, int)
-__inline_mathop(__expm1, etoxm1)
-__inline_mathop(__log1p, lognp1)
+__inline_mathop(__rint, int,)
+__inline_mathop(__expm1, etoxm1,)
+__inline_mathop(__log1p, lognp1,)
 #endif
 
 #ifdef __USE_MISC
-__inline_mathop(__significand, getman)
+__inline_mathop(__significand, getman,)
 #endif
 
 #ifdef __USE_ISOC99
-__inline_mathop(__trunc, intrz)
+__inline_mathop(__trunc, intrz, __attribute__ ((__const__)))
 #endif
 
 #if !defined __NO_MATH_INLINES && defined __OPTIMIZE__
 
-__inline_mathop(atan, atan)
-__inline_mathop(tanh, tanh)
+__inline_mathop(atan, atan,)
+__inline_mathop(tanh, tanh,)
 
 # if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
-__inline_mathop(rint, int)
-__inline_mathop(log1p, lognp1)
+__inline_mathop(rint, int,)
+__inline_mathop(log1p, lognp1,)
 # endif
 
 # ifdef __USE_MISC
-__inline_mathop(significand, getman)
+__inline_mathop(significand, getman,)
 # endif
 
 # ifdef __USE_ISOC99
-__inline_mathop(trunc, intrz)
+__inline_mathop(trunc, intrz, __attribute__ ((__const__)))
 # endif
 
 #endif /* !__NO_MATH_INLINES && __OPTIMIZE__ */
@@ -121,7 +121,8 @@ __inline_mathop(trunc, intrz)
    that adds the suffix for the function names.  */
 
 #define __inline_functions(float_type, m)				  \
-__m81_defun (float_type, m(__floor), (float_type __x))			  \
+__m81_defun (float_type, m(__floor), (float_type __x),			  \
+	     __attribute__ ((__const__)))				  \
 {									  \
   float_type __result;							  \
   unsigned long int __ctrl_reg;						  \
@@ -137,7 +138,8 @@ __m81_defun (float_type, m(__floor), (float_type __x))			  \
   return __result;							  \
 }									  \
 									  \
-__m81_defun (float_type, m(__ceil), (float_type __x))			  \
+__m81_defun (float_type, m(__ceil), (float_type __x),			  \
+	     __attribute__ ((__const__)))				  \
 {									  \
   float_type __result;							  \
   unsigned long int __ctrl_reg;						  \
@@ -166,7 +168,8 @@ __inline_functions(long double, __CONCAT_l)
 #ifdef __USE_MISC
 
 # define __inline_functions(float_type, m)				  \
-__m81_defun (int, m(__isinf), (float_type __value))			  \
+__m81_defun (int, m(__isinf), (float_type __value),			  \
+	     __attribute__ ((__const__)))				  \
 {									  \
   /* There is no branch-condition for infinity,				  \
      so we must extract and examine the condition codes manually.  */	  \
@@ -176,7 +179,8 @@ __m81_defun (int, m(__isinf), (float_type __value))			  \
   return (__fpsr & (2 << 24)) ? (__fpsr & (8 << 24) ? -1 : 1) : 0;	  \
 }									  \
 									  \
-__m81_defun (int, m(__finite), (float_type __value))			  \
+__m81_defun (int, m(__finite), (float_type __value),			  \
+	     __attribute__ ((__const__)))				  \
 {									  \
   /* There is no branch-condition for infinity, so we must extract and	  \
      examine the condition codes manually.  */				  \
@@ -187,7 +191,7 @@ __m81_defun (int, m(__finite), (float_type __value))			  \
 }									  \
 									  \
 __m81_defun (float_type, m(__scalbn),					  \
-	     (float_type __x, int __n))					  \
+	     (float_type __x, int __n),)				  \
 {									  \
   float_type __result;							  \
   __asm __volatile__  ("fscale%.l %1, %0" : "=f" (__result)		  \
@@ -205,7 +209,8 @@ __inline_functions(long double, __CONCAT_l)
 #if defined __USE_MISC || defined __USE_XOPEN
 
 # define __inline_functions(float_type, m)				  \
-__m81_defun (int, m(__isnan), (float_type __value))		  	  \
+__m81_defun (int, m(__isnan), (float_type __value),			  \
+	     __attribute__ ((__const__)))			  	  \
 {									  \
   char __result;							  \
   __asm ("ftst%.x %1\n"							  \
@@ -226,12 +231,12 @@ __inline_functions(long double, __CONCAT_l)
 
 # define __inline_functions(float_type, m)				  \
 __m81_defun (float_type, m(__scalbln),					  \
-	     (float_type __x, long int __n))				  \
+	     (float_type __x, long int __n),)				  \
 {									  \
   return m(__scalbn) (__x, __n);					  \
 }									  \
 									  \
-__m81_defun (float_type, m(__nearbyint), (float_type __x))		  \
+__m81_defun (float_type, m(__nearbyint), (float_type __x),)		  \
 {									  \
   float_type __result;							  \
   unsigned long int __ctrl_reg;						  \
@@ -245,7 +250,7 @@ __m81_defun (float_type, m(__nearbyint), (float_type __x))		  \
   return __result;							  \
 }									  \
 									  \
-__m81_defun (long int, m(__lrint), (float_type __x))			  \
+__m81_defun (long int, m(__lrint), (float_type __x),)			  \
 {									  \
   long int __result;							  \
   __asm __volatile__ ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x));  \
@@ -305,7 +310,7 @@ __inline_forward_c(double,ceil, (double __x), (__x))
 __inline_forward_c(int,isinf, (double __value), (__value))
 #  endif
 __inline_forward_c(int,finite, (double __value), (__value))
-__inline_forward_c(double,scalbn, (double __x, int __n), (__x, __n))
+__inline_forward(double,scalbn, (double __x, int __n), (__x, __n))
 # endif
 # if defined __USE_MISC || defined __USE_XOPEN
 #  ifndef __USE_ISOC99 /* Conflict with macro of same name.  */
@@ -313,9 +318,9 @@ __inline_forward_c(int,isnan, (double __value), (__value))
 #  endif
 # endif
 # ifdef __USE_ISOC99
-__inline_forward_c(double,scalbln, (double __x, long int __n), (__x, __n))
-__inline_forward_c(double,nearbyint, (double __value), (__value))
-__inline_forward_c(long int,lrint, (double __value), (__value))
+__inline_forward(double,scalbln, (double __x, long int __n), (__x, __n))
+__inline_forward(double,nearbyint, (double __value), (__value))
+__inline_forward(long int,lrint, (double __value), (__value))
 # endif
 # ifdef __USE_GNU
 __inline_forward(void,sincos, (double __x, double *__sinx, double *__cosx),
@@ -329,13 +334,13 @@ __inline_forward_c(float,ceilf, (float __x), (__x))
 #  ifdef __USE_MISC
 __inline_forward_c(int,isinff, (float __value), (__value))
 __inline_forward_c(int,finitef, (float __value), (__value))
-__inline_forward_c(float,scalbnf, (float __x, int __n), (__x, __n))
+__inline_forward(float,scalbnf, (float __x, int __n), (__x, __n))
 __inline_forward_c(int,isnanf, (float __value), (__value))
 #  endif
 # ifdef __USE_ISOC99
-__inline_forward_c(float,scalblnf, (float __x, long int __n), (__x, __n))
-__inline_forward_c(float,nearbyintf, (float __value), (__value))
-__inline_forward_c(long int,lrintf, (float __value), (__value))
+__inline_forward(float,scalblnf, (float __x, long int __n), (__x, __n))
+__inline_forward(float,nearbyintf, (float __value), (__value))
+__inline_forward(long int,lrintf, (float __value), (__value))
 # endif
 # ifdef __USE_GNU
 __inline_forward(void,sincosf, (float __x, float *__sinx, float *__cosx),
@@ -347,14 +352,14 @@ __inline_forward_c(long double,ceill, (long double __x), (__x))
 # ifdef __USE_MISC
 __inline_forward_c(int,isinfl, (long double __value), (__value))
 __inline_forward_c(int,finitel, (long double __value), (__value))
-__inline_forward_c(long double,scalbnl, (long double __x, int __n), (__x, __n))
+__inline_forward(long double,scalbnl, (long double __x, int __n), (__x, __n))
 __inline_forward_c(int,isnanl, (long double __value), (__value))
 # endif
 # ifdef __USE_ISOC99
-__inline_forward_c(long double,scalblnl, (long double __x, long int __n),
-		   (__x, __n))
-__inline_forward_c(long double,nearbyintl, (long double __value), (__value))
-__inline_forward_c(long int,lrintl, (long double __value), (__value))
+__inline_forward(long double,scalblnl, (long double __x, long int __n),
+		 (__x, __n))
+__inline_forward(long double,nearbyintl, (long double __value), (__value))
+__inline_forward(long int,lrintl, (long double __value), (__value))
 # endif
 # ifdef __USE_GNU
 __inline_forward(void,sincosl,
diff --git a/sysdeps/m68k/m680x0/fpu/mathimpl.h b/sysdeps/m68k/m680x0/fpu/mathimpl.h
index 653df96..2be4e1a 100644
--- a/sysdeps/m68k/m680x0/fpu/mathimpl.h
+++ b/sysdeps/m68k/m680x0/fpu/mathimpl.h
@@ -20,27 +20,27 @@
 /* This file contains the definitions of the inline math functions that
    are only used internally inside libm, not visible to the user.  */
 
-__inline_mathop	(__ieee754_acos, acos)
-__inline_mathop	(__ieee754_asin, asin)
-__inline_mathop	(__ieee754_cosh, cosh)
-__inline_mathop	(__ieee754_sinh, sinh)
-__inline_mathop	(__ieee754_exp, etox)
-__inline_mathop	(__ieee754_exp2, twotox)
-__inline_mathop	(__ieee754_exp10, tentox)
-__inline_mathop	(__ieee754_log10, log10)
-__inline_mathop	(__ieee754_log2, log2)
-__inline_mathop	(__ieee754_log, logn)
-__inline_mathop	(__ieee754_sqrt, sqrt)
-__inline_mathop	(__ieee754_atanh, atanh)
+__inline_mathop	(__ieee754_acos, acos,)
+__inline_mathop	(__ieee754_asin, asin,)
+__inline_mathop	(__ieee754_cosh, cosh,)
+__inline_mathop	(__ieee754_sinh, sinh,)
+__inline_mathop	(__ieee754_exp, etox,)
+__inline_mathop	(__ieee754_exp2, twotox,)
+__inline_mathop	(__ieee754_exp10, tentox,)
+__inline_mathop	(__ieee754_log10, log10,)
+__inline_mathop	(__ieee754_log2, log2,)
+__inline_mathop	(__ieee754_log, logn,)
+__inline_mathop	(__ieee754_sqrt, sqrt,)
+__inline_mathop	(__ieee754_atanh, atanh,)
 
-__m81_defun (double, __ieee754_remainder, (double __x, double __y))
+__m81_defun (double, __ieee754_remainder, (double __x, double __y),)
 {
   double __result;
   __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
   return __result;
 }
 
-__m81_defun (float, __ieee754_remainderf, (float __x, float __y))
+__m81_defun (float, __ieee754_remainderf, (float __x, float __y),)
 {
   float __result;
   __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
@@ -48,21 +48,21 @@ __m81_defun (float, __ieee754_remainderf, (float __x, float __y))
 }
 
 __m81_defun (long double,
-	     __ieee754_remainderl, (long double __x, long double __y))
+	     __ieee754_remainderl, (long double __x, long double __y),)
 {
   long double __result;
   __asm ("frem%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
   return __result;
 }
 
-__m81_defun (double, __ieee754_fmod, (double __x, double __y))
+__m81_defun (double, __ieee754_fmod, (double __x, double __y),)
 {
   double __result;
   __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
   return __result;
 }
 
-__m81_defun (float, __ieee754_fmodf, (float __x, float __y))
+__m81_defun (float, __ieee754_fmodf, (float __x, float __y),)
 {
   float __result;
   __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));
@@ -70,7 +70,7 @@ __m81_defun (float, __ieee754_fmodf, (float __x, float __y))
 }
 
 __m81_defun (long double,
-	     __ieee754_fmodl, (long double __x, long double __y))
+	     __ieee754_fmodl, (long double __x, long double __y),)
 {
   long double __result;
   __asm ("fmod%.x %1, %0" : "=f" (__result) : "f" (__y), "0" (__x));

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

Summary of changes:
 ChangeLog                                 |   21 ++++++
 sysdeps/m68k/m680x0/fpu/bits/mathinline.h |  105 +++++++++++++++--------------
 sysdeps/m68k/m680x0/fpu/mathimpl.h        |   36 +++++-----
 3 files changed, 94 insertions(+), 68 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]