]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Simplify math-svid-compat code.
authorJoseph Myers <joseph@codesourcery.com>
Mon, 28 Aug 2017 15:19:52 +0000 (15:19 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Mon, 28 Aug 2017 15:19:52 +0000 (15:19 +0000)
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].

ChangeLog
math/math-svid-compat.h
sysdeps/ieee754/s_lib_version.c

index 5d7c8cace19b25540fa4be02a59e5f233fdc2419..d6aef6da0371ab533a4e9c05f09ba8538ad304fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-08-28  Joseph Myers  <joseph@codesourcery.com>
+
+       * 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].
+
 2017-08-28  Florian Weimer  <fweimer@redhat.com>
 
        * sysdeps/unix/sysv/linux/aarch64/Makefile (abi-lp64-options)
index 284cc13159b91bdaaf4307e6573cd0ce681af44c..67acedc28c0fbfd9509f444bf4af7b4b4a666722 100644 (file)
@@ -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_
index f11d1c31f66ce217cb2945d159f9eeead6f491d7..40f708d82d39f472f25a87b1c0ff727f3ee56f3a 100644 (file)
@@ -24,12 +24,7 @@ static char rcsid[] = "$NetBSD: s_lib_version.c,v 1.6 1995/05/10 20:47:44 jtc Ex
  * define and initialize _LIB_VERSION
  */
 #undef _LIB_VERSION
-#if LIBM_SVID_COMPAT || !defined SHARED
-_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _POSIX_;
-#endif
 #if LIBM_SVID_COMPAT
+_LIB_VERSION_TYPE _LIB_VERSION_INTERNAL = _POSIX_;
 compat_symbol (libm, _LIB_VERSION_INTERNAL, _LIB_VERSION, GLIBC_2_0);
-#elif !defined SHARED
-/* For use in .S wrappers.  */
-weak_alias (_LIB_VERSION_INTERNAL, _LIB_VERSION)
 #endif