summary refs log tree commit diff
path: root/math/math-svid-compat.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-08-28 15:19:52 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-08-28 15:19:52 +0000
commita48c0fb4b4c322a0e0214f59516b9bb7883352f8 (patch)
tree3d5f29b89994baf7309a4b0f7ba6fd9af8d36421 /math/math-svid-compat.h
parentee17d4e99af9e49378217209d3708053ef148032 (diff)
downloadglibc-a48c0fb4b4c322a0e0214f59516b9bb7883352f8.tar.gz
glibc-a48c0fb4b4c322a0e0214f59516b9bb7883352f8.tar.xz
glibc-a48c0fb4b4c322a0e0214f59516b9bb7883352f8.zip
Simplify math-svid-compat code.
Now there are no more assembly wrappers using _LIB_VERSION or
__kernel_standard, the math-svid-compat code can be slighly
simplified.  math-svid-compat.h no longer needs __ASSEMBLER__
conditionals, and the _LIB_VERSION variable no longer needs to be
built for static libm, since all references are now in C code that
includes math-svid-compat.h and so gets the macro definition of
_LIB_VERSION to _POSIX_ outside the compat case.  This patch makes
those cleanups.

Tested for x86_64, and with build-many-glibcs.py.

	* math/math-svid-compat.h [!__ASSEMBLER__]: Make code
	unconditional.
	* sysdeps/ieee754/s_lib_version.c [!defined SHARED]: Remove
	conditional code; define contents only for [LIBM_SVID_COMPAT].
Diffstat (limited to 'math/math-svid-compat.h')
-rw-r--r--math/math-svid-compat.h22
1 files changed, 9 insertions, 13 deletions
diff --git a/math/math-svid-compat.h b/math/math-svid-compat.h
index 284cc13159..67acedc28c 100644
--- a/math/math-svid-compat.h
+++ b/math/math-svid-compat.h
@@ -19,7 +19,6 @@
 #ifndef	_MATH_SVID_COMPAT_H
 #define	_MATH_SVID_COMPAT_H	1
 
-#ifndef __ASSEMBLER__
 /* Support for various different standard error handling behaviors.  */
 typedef enum
 {
@@ -49,37 +48,34 @@ struct exception
 extern int matherr (struct exception *__exc);
 extern int __matherr (struct exception *__exc);
 
-# define X_TLOSS	1.41484755040568800000e+16
+#define X_TLOSS	1.41484755040568800000e+16
 
 /* Types of exceptions in the `type' field.  */
-# define DOMAIN		1
-# define SING		2
-# define OVERFLOW	3
-# define UNDERFLOW	4
-# define TLOSS		5
-# define PLOSS		6
+#define DOMAIN		1
+#define SING		2
+#define OVERFLOW	3
+#define UNDERFLOW	4
+#define TLOSS		5
+#define PLOSS		6
 
 /* SVID mode specifies returning this large value instead of infinity.  */
-# define HUGE		3.40282347e+38F
-#endif
+#define HUGE		3.40282347e+38F
 
 /* The above definitions may be used in testcases.  The following code
    is only used in the implementation.  */
 
 #ifdef _LIBC
-# ifndef __ASSEMBLER__
 /* fdlibm kernel function */
 extern double __kernel_standard (double, double, int);
 extern float __kernel_standard_f (float, float, int);
 extern long double __kernel_standard_l (long double, long double, int);
-# endif
 
 # include <shlib-compat.h>
 # define LIBM_SVID_COMPAT SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_27)
 # if LIBM_SVID_COMPAT
 compat_symbol_reference (libm, matherr, matherr, GLIBC_2_0);
 compat_symbol_reference (libm, _LIB_VERSION, _LIB_VERSION, GLIBC_2_0);
-# elif !defined __ASSEMBLER__
+# else
 /* Except when building compat code, optimize out references to
    _LIB_VERSION and matherr.  */
 #  define _LIB_VERSION _POSIX_