]> sourceware.org Git - glibc.git/commitdiff
Remove the error handling wrapper from log2
authorSzabolcs Nagy <szabolcs.nagy@arm.com>
Wed, 27 Jun 2018 15:29:24 +0000 (16:29 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Wed, 21 Nov 2018 09:57:21 +0000 (09:57 +0000)
Introduce new log2 symbol version that doesn't do SVID compatible error
handling.  The standard errno and fp exception based error handling is
inline in the new code and does not have significant overhead.

The wrapper is disabled for sysdeps/ieee754/dbl-64 by using empty
w_log2.c and enabled for targets with their own log2 implementation by
including math/w_log2.c.

The compatibility symbol version still uses the wrapper with SVID error
handling around the new code.  There is no new symbol version nor
compatibility code on !LIBM_SVID_COMPAT targets (e.g. riscv).

On targets where previously log2l was an alias of log2, now it points to
the compatibility symbol with the wrapper, because it still need the
SVID compatible error handling.  This affects NO_LONG_DOUBLE (e.g. arm)
and LONG_DOUBLE_COMPAT (e.g. alpha) targets as well.

The __log2_finite symbol is now an alias of log2.  Both __log2_finite
and log2 set errno and thus not const functions.

The ia64 asm is changed so the compat and new symbol versions map to the
same address.

Tested with build-many-glibcs.py.

* math/Versions (GLIBC_2.29): Add log2.
* math/w_log2_compat.c (__log2_compat): Change to versioned compat
symbol.
* math/w_log2.c: New file.
* sysdeps/i386/fpu/w_log2.c: New file.
* sysdeps/ia64/fpu/e_log2.S: Add versioned symbols.
* sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Rename to __log2
and add necessary aliases.
* sysdeps/ieee754/dbl-64/w_log2.c: New file.
* sysdeps/m68k/m680x0/fpu/w_log2.c: New file.
* sysdeps/mach/hurd/i386/libm.abilist: Update.
* sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/alpha/libm.abilist: Update.
* sysdeps/unix/sysv/linux/arm/libm.abilist: Update.
* sysdeps/unix/sysv/linux/hppa/libm.abilist: Update.
* sysdeps/unix/sysv/linux/i386/libm.abilist: Update.
* sysdeps/unix/sysv/linux/ia64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update.
* sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update.
* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update.
* sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update.
* sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/nios2/libm.abilist: Update.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update.
* sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update.
* sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/sh/libm.abilist: Update.
* sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update.
* sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update.
* sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update.

33 files changed:
ChangeLog
math/Versions
math/w_log2.c [new file with mode: 0644]
math/w_log2_compat.c
sysdeps/i386/fpu/w_log2.c [new file with mode: 0644]
sysdeps/ia64/fpu/e_log2.S
sysdeps/ieee754/dbl-64/e_log2.c
sysdeps/ieee754/dbl-64/w_log2.c [new file with mode: 0644]
sysdeps/m68k/m680x0/fpu/w_log2.c [new file with mode: 0644]
sysdeps/mach/hurd/i386/libm.abilist
sysdeps/unix/sysv/linux/aarch64/libm.abilist
sysdeps/unix/sysv/linux/alpha/libm.abilist
sysdeps/unix/sysv/linux/arm/libm.abilist
sysdeps/unix/sysv/linux/hppa/libm.abilist
sysdeps/unix/sysv/linux/i386/libm.abilist
sysdeps/unix/sysv/linux/ia64/libm.abilist
sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist
sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist
sysdeps/unix/sysv/linux/microblaze/libm.abilist
sysdeps/unix/sysv/linux/mips/mips32/libm.abilist
sysdeps/unix/sysv/linux/mips/mips64/libm.abilist
sysdeps/unix/sysv/linux/nios2/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist
sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist
sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist
sysdeps/unix/sysv/linux/sh/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist
sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/64/libm.abilist
sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist

index 206d216bcac1f372768dae3359c5b6094aa95f7d..94d0b97ebac027a0bb17f2258f8b19534607e989 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2018-11-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+       * math/Versions (GLIBC_2.29): Add log2.
+       * math/w_log2_compat.c (__log2_compat): Change to versioned compat
+       symbol.
+       * math/w_log2.c: New file.
+       * sysdeps/i386/fpu/w_log2.c: New file.
+       * sysdeps/ia64/fpu/e_log2.S: Add versioned symbols.
+       * sysdeps/ieee754/dbl-64/e_log2.c (__ieee754_log2): Rename to __log2
+       and add necessary aliases.
+       * sysdeps/ieee754/dbl-64/w_log2.c: New file.
+       * sysdeps/m68k/m680x0/fpu/w_log2.c: New file.
+       * sysdeps/mach/hurd/i386/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/aarch64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/alpha/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/arm/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/hppa/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/i386/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/ia64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/microblaze/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/mips/mips32/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/mips/mips64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/nios2/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm-le.abilist: Update.
+       * sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/sh/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/x86_64/64/libm.abilist: Update.
+       * sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist: Update.
+
 2018-11-21  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
        * math/Versions (GLIBC_2.29): Add log.
index 87aa6590ededfb04aa861557afef845e2a81f4f6..a887602f2f7ba66a517a73255b2c35718f12faa8 100644 (file)
@@ -577,6 +577,6 @@ libm {
   }
   GLIBC_2.29 {
     # No SVID compatible error handling.
-    exp; exp2; log;
+    exp; exp2; log; log2;
   }
 }
diff --git a/math/w_log2.c b/math/w_log2.c
new file mode 100644 (file)
index 0000000..148d5d4
--- /dev/null
@@ -0,0 +1,8 @@
+#include <math-type-macros-double.h>
+#undef __USE_WRAPPER_TEMPLATE
+#define __USE_WRAPPER_TEMPLATE 1
+#undef declare_mgen_alias
+#define declare_mgen_alias(a, b)
+#include <w_log2_template.c>
+versioned_symbol (libm, __log2, log2, GLIBC_2_29);
+libm_alias_double_other (__log2, log2)
index 61e7170ae19e67153ff3d481c751fd2fbc97f51e..4459ce275f42d7d84ff8d862b59c71e8366e4232 100644 (file)
 #include <libm-alias-double.h>
 
 
-#if LIBM_SVID_COMPAT
+#if LIBM_SVID_COMPAT && (SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_29) \
+                        || defined NO_LONG_DOUBLE \
+                        || defined LONG_DOUBLE_COMPAT)
 /* wrapper log2(x) */
 double
-__log2 (double x)
+__log2_compat (double x)
 {
   if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_)
     {
@@ -44,5 +46,17 @@ __log2 (double x)
 
   return  __ieee754_log2 (x);
 }
-libm_alias_double (__log2, log2)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_29)
+compat_symbol (libm, __log2_compat, log2, GLIBC_2_1);
+# endif
+# ifdef NO_LONG_DOUBLE
+weak_alias (__log2_compat, log2l)
+# endif
+# ifdef LONG_DOUBLE_COMPAT
+/* Work around gas bug "multiple versions for symbol".  */
+weak_alias (__log2_compat, __log2_compat_alias)
+
+LONG_DOUBLE_COMPAT_CHOOSE_libm_log2l (
+  compat_symbol (libm, __log2_compat_alias, log2l, FIRST_VERSION_libm_log2l), );
+# endif
 #endif
diff --git a/sysdeps/i386/fpu/w_log2.c b/sysdeps/i386/fpu/w_log2.c
new file mode 100644 (file)
index 0000000..eafbe5c
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_log2.c>
index 17893a2ede5ef0d6ca73d1c6e42b8ed193633e94..eecd72a63a45ee4fe0db44965c36020816a6239e 100644 (file)
@@ -385,7 +385,7 @@ LOCAL_OBJECT_END(T_table)
 
 
 .section .text
-GLOBAL_LIBM_ENTRY(log2)
+WEAK_LIBM_ENTRY(log2)
 
 { .mfi
   alloc r32=ar.pfs,1,4,4,0
@@ -653,8 +653,14 @@ SPECIAL_LOG2:
   br.ret.sptk b0;;
 }
 
-GLOBAL_LIBM_END(log2)
-libm_alias_double_other (log2, log2)
+WEAK_LIBM_END(log2)
+libm_alias_double_other (__log2, log2)
+#ifdef SHARED
+.symver log2,log2@@GLIBC_2.29
+.weak __log2_compat
+.set __log2_compat,__log2
+.symver __log2_compat,log2@GLIBC_2.2
+#endif
 
 
 LOCAL_LIBM_ENTRY(__libm_error_region)
index 916eb466f8aac5a512fa17ebc8c9eaf5585b6acc..6bb1c05d99583c968353826683e1d05c980b3dc8 100644 (file)
@@ -18,6 +18,9 @@
 
 #include <math.h>
 #include <stdint.h>
+#include <math-svid-compat.h>
+#include <shlib-compat.h>
+#include <libm-alias-double.h>
 #include "math_config.h"
 
 #define T __log2_data.tab
@@ -37,7 +40,7 @@ top16 (double x)
 }
 
 double
-__ieee754_log2 (double x)
+__log2 (double x)
 {
   /* double_t for better performance on targets with FLT_EVAL_METHOD==2.  */
   double_t z, r, r2, r4, y, invc, logc, kd, hi, lo, t1, t2, t3, p;
@@ -136,6 +139,13 @@ __ieee754_log2 (double x)
   y = lo + r2 * p + hi;
   return y;
 }
-#ifndef __ieee754_log2
-strong_alias (__ieee754_log2, __log2_finite)
+#ifndef __log2
+strong_alias (__log2, __ieee754_log2)
+strong_alias (__log2, __log2_finite)
+# if LIBM_SVID_COMPAT
+versioned_symbol (libm, __log2, log2, GLIBC_2_29);
+libm_alias_double_other (__log2, log2)
+# else
+libm_alias_double (__log2, log2)
+# endif
 #endif
diff --git a/sysdeps/ieee754/dbl-64/w_log2.c b/sysdeps/ieee754/dbl-64/w_log2.c
new file mode 100644 (file)
index 0000000..1cc8931
--- /dev/null
@@ -0,0 +1 @@
+/* Not needed.  */
diff --git a/sysdeps/m68k/m680x0/fpu/w_log2.c b/sysdeps/m68k/m680x0/fpu/w_log2.c
new file mode 100644 (file)
index 0000000..eafbe5c
--- /dev/null
@@ -0,0 +1 @@
+#include <sysdeps/../math/w_log2.c>
index 144bdb9cac56443fe12c11ef4a806221ab56c04d..f319580964a9708a4141cbcf0279217c0d19152a 100644 (file)
@@ -1071,3 +1071,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 6785ac6aa212628f556c4726170834db2883f458..c01ff24dfef326c6fadfbf2036a89f9b73173fb7 100644 (file)
@@ -1035,3 +1035,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 132ea0028851acdd74bcdda2fcaa6f60a526dcda..f5ec8742dca3d1a741cac1bdecc1918bb1b1800b 100644 (file)
@@ -1046,6 +1046,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.3.4 __c1_cabsf F
 GLIBC_2.3.4 __c1_cacosf F
 GLIBC_2.3.4 __c1_cacoshf F
index 45a233785dbd00878ffb8022b2649ebfdd4e16be..9b7d87b3299f1376776fd94f017ff8273a94515a 100644 (file)
@@ -456,6 +456,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 _LIB_VERSION D 0x4
 GLIBC_2.4 __clog10 F
 GLIBC_2.4 __clog10f F
index b0689ff6c5cbceb567d3c331a5c40005a6a51b62..d193f995612daf3026a78b5fe2e15cc51e2e3a21 100644 (file)
@@ -767,4 +767,5 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 exp2l F
index 3afd3048818dc9976d1438009c569bff87f832e6..eae2c55d38f6e3e73e06d95564709bd42f0bd856 100644 (file)
@@ -1078,3 +1078,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 637fd150c2a52b89be8cd4ebe519346f66190992..9796e8d37bf56a8ca029dad60fe54187fc1916c7 100644 (file)
@@ -1008,3 +1008,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 45a233785dbd00878ffb8022b2649ebfdd4e16be..9b7d87b3299f1376776fd94f017ff8273a94515a 100644 (file)
@@ -456,6 +456,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 _LIB_VERSION D 0x4
 GLIBC_2.4 __clog10 F
 GLIBC_2.4 __clog10f F
index b1689c2e65c92a57958da284aa0f438bc34c3153..f73ad1a35c798b842b2ce5b5b02122accde513a6 100644 (file)
@@ -807,3 +807,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index ae59dfbd6639ebc964036e36e8f07579a6f177a5..dcb7dbba914cf34c605f500f90edeed6eaa94c7d 100644 (file)
@@ -768,3 +768,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 38c665147a6b0d61deb3696cf609550c04b78c90..1146e2d6fd56f62d35189a30b700e25e7655c327 100644 (file)
@@ -767,4 +767,5 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 exp2l F
index 09777c71c776db03600d37c332f22f5978419968..d9c830da42476c42b00d982fd0688bde3fcbff91 100644 (file)
@@ -1035,3 +1035,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 59fc049b860ede150347f6a267ce88f283fee6b0..0902ca01f21aec9b6fe0e7a2ecc31053620b49ff 100644 (file)
@@ -768,3 +768,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 7788f76e81177eb88405c824b225ad4b1bd728c6..3e9e5e75fd264e290d5e3c38f40231d7e30f5322 100644 (file)
@@ -813,6 +813,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
index cae3604a001f51522ab16a599ac1bd381f4fff62..7a3c6be1f42420def01aa9a482b09fcb062ca498 100644 (file)
@@ -812,6 +812,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
index 732825e015e6f7ac3d578dbb95167fc56fe33f34..d50c82c7c8241a36909f36e04bbb919ef99f11d1 100644 (file)
@@ -1079,3 +1079,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 59f083dda73aecb668b7b49d0bcea012c4efc190..cbf2ad3ca67b785aec728a40b22fa571c835c176 100644 (file)
@@ -491,6 +491,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.3 _LIB_VERSION D 0x4
 GLIBC_2.3 __clog10 F
 GLIBC_2.3 __clog10f F
index 5a68b2701bcf6a461860fc2d253172a96f16e293..382455c9cf66f42d708cbe386c11dfa966ea5dc0 100644 (file)
@@ -1036,6 +1036,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
index 364f7e63d4b4aefac0262994df0de5097cccd50b..92b794bf1237d3bd3f1f87b7dd485b8a60856d0b 100644 (file)
@@ -1036,6 +1036,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
index 489f34db579ada438e8fd23c14105a91496ba26a..3320f1403a7f05b25edfe99bc0b7c1d4300d0329 100644 (file)
@@ -767,4 +767,5 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 exp2l F
index 288986f22835e8c37f44128cb1db08076612a632..2a10a0ffb95d59e6121662a56752d48957ea2b80 100644 (file)
@@ -1043,6 +1043,7 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
 GLIBC_2.4 __clog10l F
 GLIBC_2.4 __finitel F
 GLIBC_2.4 __fpclassifyl F
index 11fb7e4597456f2f89ee938bd3142346bae9cb72..ebbc58da91c55cec66080725af552a3239ffeab5 100644 (file)
@@ -1035,3 +1035,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index 9fd399d31a11861618df3683531af7360c7c9e34..3e02619df9dba5a98cba6a07f8f4512f96e44cec 100644 (file)
@@ -1069,3 +1069,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
index bbea57551da5d07492f4c46488995d4e227a41c0..03cd62fd6fa1081f9f3cb749fbcfe2e9608a1c6c 100644 (file)
@@ -1069,3 +1069,4 @@ GLIBC_2.28 fsubl F
 GLIBC_2.29 exp F
 GLIBC_2.29 exp2 F
 GLIBC_2.29 log F
+GLIBC_2.29 log2 F
This page took 0.090053 seconds and 5 git commands to generate.