From patchwork Fri Jun 29 12:56:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Szabolcs Nagy X-Patchwork-Id: 28149 Received: (qmail 63447 invoked by alias); 29 Jun 2018 12:56:14 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 63426 invoked by uid 89); 29 Jun 2018 12:56:14 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-25.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_NUMSUBJECT, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: EUR04-DB3-obe.outbound.protection.outlook.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector1-arm-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J7iRhhmTkbPp5jmhTHzJXribl4X/Z8V4iJisVlb+XxM=; b=KVMyTss+byzNcAtnAs0eptFSrRrBO4Mz473wjv8/ujUbL53dlNHAMX/AheOUArGIPDAM/e8KPRTopzPXigQggDK8wC1b1Ms3NBIMfi67RZ2DCJu+9+ea9Rr7KvhRUO1brPU4EHiFOZtcxGA3ys6Jnrfa/BGE5OI08XoI/Lzytoo= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; Cc: nd@arm.com To: GNU C Library From: Szabolcs Nagy Subject: [PATCH 8/9] Remove the error handling wrapper from log2 Message-ID: Date: Fri, 29 Jun 2018 13:56:03 +0100 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 Return-Path: szabolcs.nagy@arm.com Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) 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 (only affects uncommon special case code paths). The w_log2.c wrapper is disabled for sysdeps/ieee754/dbl-64 by using an empty w_log2.c and enabled for targets that use their own log2 implementation. The __log2_finite symbol is just an alias to log2 now. For backward compatibility the old log2 symbol versions still use a wrapper with SVID error handling around the new code. The ia64 asm is chaned so the compat and new symbol versions map to the same address. 2018-06-29 Szabolcs Nagy * math/Versions (GLIBC_2.28): 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.abilist: Update. * sysdeps/unix/sysv/linux/riscv/rv64/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. --- math/Versions | 2 +- math/w_log2.c | 8 ++++++++ math/w_log2_compat.c | 6 +++--- sysdeps/i386/fpu/w_log2.c | 1 + sysdeps/ia64/fpu/e_log2.S | 6 ++++++ sysdeps/ieee754/dbl-64/e_log2.c | 11 ++++++++--- sysdeps/ieee754/dbl-64/w_log2.c | 1 + sysdeps/m68k/m680x0/fpu/w_log2.c | 1 + sysdeps/mach/hurd/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/aarch64/libm.abilist | 1 + sysdeps/unix/sysv/linux/alpha/libm.abilist | 1 + sysdeps/unix/sysv/linux/arm/libm.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libm.abilist | 1 + sysdeps/unix/sysv/linux/i386/libm.abilist | 1 + sysdeps/unix/sysv/linux/ia64/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist | 1 + sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/libm.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/libm.abilist | 1 + sysdeps/unix/sysv/linux/nios2/libm.abilist | 1 + sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist | 1 + sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist | 1 + sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist | 1 + sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist | 1 + sysdeps/unix/sysv/linux/sh/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/64/libm.abilist | 1 + sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist | 1 + 32 files changed, 53 insertions(+), 7 deletions(-) create mode 100644 math/w_log2.c create mode 100644 sysdeps/i386/fpu/w_log2.c create mode 100644 sysdeps/ieee754/dbl-64/w_log2.c create mode 100644 sysdeps/m68k/m680x0/fpu/w_log2.c diff --git a/math/Versions b/math/Versions index 78d02c2f41..986dd3cee4 100644 --- a/math/Versions +++ b/math/Versions @@ -575,6 +575,6 @@ libm { f32xsubf64x; f32xsubf128; f64subf64x; f64subf128; f64xsubf128; # 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 index 0000000000..da00b2805f --- /dev/null +++ b/math/w_log2.c @@ -0,0 +1,8 @@ +#include +#undef __USE_WRAPPER_TEMPLATE +#define __USE_WRAPPER_TEMPLATE 1 +#undef declare_mgen_alias +#define declare_mgen_alias(a, b) +#include +versioned_symbol (libm, __log2, log2, GLIBC_2_28); +libm_alias_double_other (__log2, log2) diff --git a/math/w_log2_compat.c b/math/w_log2_compat.c index 61e7170ae1..4bd5289606 100644 --- a/math/w_log2_compat.c +++ b/math/w_log2_compat.c @@ -23,10 +23,10 @@ #include -#if LIBM_SVID_COMPAT +#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_28) /* wrapper log2(x) */ double -__log2 (double x) +__log2_compat (double x) { if (__builtin_expect (islessequal (x, 0.0), 0) && _LIB_VERSION != _IEEE_) { @@ -44,5 +44,5 @@ __log2 (double x) return __ieee754_log2 (x); } -libm_alias_double (__log2, log2) +compat_symbol (libm, __log2_compat, log2, GLIBC_2_1); #endif diff --git a/sysdeps/i386/fpu/w_log2.c b/sysdeps/i386/fpu/w_log2.c new file mode 100644 index 0000000000..eafbe5cf3e --- /dev/null +++ b/sysdeps/i386/fpu/w_log2.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/ia64/fpu/e_log2.S b/sysdeps/ia64/fpu/e_log2.S index 17893a2ede..c0831b3701 100644 --- a/sysdeps/ia64/fpu/e_log2.S +++ b/sysdeps/ia64/fpu/e_log2.S @@ -655,6 +655,12 @@ SPECIAL_LOG2: GLOBAL_LIBM_END(log2) libm_alias_double_other (log2, log2) +#ifdef SHARED +.symver log2,log2@@GLIBC_2.28 +.weak __log2_compat +.set __log2_compat,__log2 +.symver __log2_compat,log2@GLIBC_2.1 +#endif LOCAL_LIBM_ENTRY(__libm_error_region) diff --git a/sysdeps/ieee754/dbl-64/e_log2.c b/sysdeps/ieee754/dbl-64/e_log2.c index 9c63cb6beb..24f6715732 100644 --- a/sysdeps/ieee754/dbl-64/e_log2.c +++ b/sysdeps/ieee754/dbl-64/e_log2.c @@ -18,6 +18,8 @@ #include #include +#include +#include #include "math_config.h" #define T __log2_data.tab @@ -37,7 +39,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; @@ -142,6 +144,9 @@ __ieee754_log2 (double x) #endif return y; } -#ifndef __ieee754_log2 -strong_alias (__ieee754_log2, __log2_finite) +#ifndef __log2 +strong_alias (__log2, __ieee754_log2) +strong_alias (__log2, __log2_finite) +versioned_symbol (libm, __log2, log2, GLIBC_2_28); +libm_alias_double_other (__log2, log2) #endif diff --git a/sysdeps/ieee754/dbl-64/w_log2.c b/sysdeps/ieee754/dbl-64/w_log2.c new file mode 100644 index 0000000000..1cc8931700 --- /dev/null +++ b/sysdeps/ieee754/dbl-64/w_log2.c @@ -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 index 0000000000..eafbe5cf3e --- /dev/null +++ b/sysdeps/m68k/m680x0/fpu/w_log2.c @@ -0,0 +1 @@ +#include diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index e4df9ed69d..49b8298cae 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -1071,3 +1071,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/aarch64/libm.abilist b/sysdeps/unix/sysv/linux/aarch64/libm.abilist index 1c3add0005..5822c73a25 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libm.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libm.abilist @@ -1035,3 +1035,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/alpha/libm.abilist b/sysdeps/unix/sysv/linux/alpha/libm.abilist index 3f322996a5..99fd72df34 100644 --- a/sysdeps/unix/sysv/linux/alpha/libm.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libm.abilist @@ -1046,6 +1046,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.3.4 __c1_cabsf F GLIBC_2.3.4 __c1_cacosf F GLIBC_2.3.4 __c1_cacoshf F diff --git a/sysdeps/unix/sysv/linux/arm/libm.abilist b/sysdeps/unix/sysv/linux/arm/libm.abilist index 709a2f6b75..f25337fe76 100644 --- a/sysdeps/unix/sysv/linux/arm/libm.abilist +++ b/sysdeps/unix/sysv/linux/arm/libm.abilist @@ -456,6 +456,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/hppa/libm.abilist b/sysdeps/unix/sysv/linux/hppa/libm.abilist index 843b35ff24..cee07ba66c 100644 --- a/sysdeps/unix/sysv/linux/hppa/libm.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libm.abilist @@ -767,4 +767,5 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index e813a34b69..98f19cb137 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -1078,3 +1078,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index b71bb9b08f..b32cff741b 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -1008,3 +1008,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist index 709a2f6b75..f25337fe76 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libm.abilist @@ -456,6 +456,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 _LIB_VERSION D 0x4 GLIBC_2.4 __clog10 F GLIBC_2.4 __clog10f F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist index 591b67823c..9a04d77ec0 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libm.abilist @@ -807,3 +807,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/microblaze/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist index ada5cb622e..519eaa6df9 100644 --- a/sysdeps/unix/sysv/linux/microblaze/libm.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/libm.abilist @@ -768,3 +768,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist index 085b26ade4..4050a919d5 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libm.abilist @@ -767,4 +767,5 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist index e3857aa5e5..61c60c4e11 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libm.abilist @@ -1035,3 +1035,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/nios2/libm.abilist b/sysdeps/unix/sysv/linux/nios2/libm.abilist index 72da89b941..bc52c8f7ee 100644 --- a/sysdeps/unix/sysv/linux/nios2/libm.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libm.abilist @@ -768,3 +768,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist index 3191dd05ab..66f87147e2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libm.abilist @@ -813,6 +813,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist index 74f61203af..324b4e68dc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libm.abilist @@ -812,6 +812,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist index a57ea562e1..39ff08b018 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/libm.abilist @@ -491,6 +491,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.3 _LIB_VERSION D 0x4 GLIBC_2.3 __clog10 F GLIBC_2.3 __clog10f F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist index 83a78fc91a..1c8404c8de 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libm.abilist @@ -1022,3 +1022,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist index 53dbbe1a45..ba4d1a1959 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libm.abilist @@ -1036,6 +1036,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist index 446c18bbd8..3649e5321a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libm.abilist @@ -1036,6 +1036,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sh/libm.abilist b/sysdeps/unix/sysv/linux/sh/libm.abilist index cc7289f1fe..5e42e06e1d 100644 --- a/sysdeps/unix/sysv/linux/sh/libm.abilist +++ b/sysdeps/unix/sysv/linux/sh/libm.abilist @@ -767,4 +767,5 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 exp2l F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist index 0dfc34b305..795f7a70de 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libm.abilist @@ -1043,6 +1043,7 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F GLIBC_2.4 __clog10l F GLIBC_2.4 __finitel F GLIBC_2.4 __fpclassifyl F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist index f17165c5bd..e3cd41f16e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libm.abilist @@ -1035,3 +1035,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index d76f2b221d..6d9a61107c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -1069,3 +1069,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index fbf49ae82d..ca609340df 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -1069,3 +1069,4 @@ GLIBC_2.28 fmull F GLIBC_2.28 fsub F GLIBC_2.28 fsubl F GLIBC_2.28 log F +GLIBC_2.28 log2 F