From patchwork Tue Mar 30 09:31:13 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siddhesh Poyarekar X-Patchwork-Id: 1459970 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=dhiBsx8i; dkim-atps=neutral Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4F8kjS0HrLz9sVq for ; Tue, 30 Mar 2021 20:31:39 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8786838515EA; Tue, 30 Mar 2021 09:31:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8786838515EA DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1617096696; bh=n0vg2dX5JynUBNxXT/XQYY/QUGRZJaHjaSWW4R5naA8=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=dhiBsx8i/SZKP2YE132DdGSUCtiIsiXABEG1qUU4NXAEd9KsWUrtSrEYt16LEwDi9 VIbxuP18yC/O9LnQpAEcT9ZE5jlmkeHD1dWylEvpo4L51KBheF0HASap4X4o+IAKvL MlQ+fpRDhw8CeNfjcjQ/hdI1kolou/A+7AqjezpQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from dog.birch.relay.mailchannels.net (dog.birch.relay.mailchannels.net [23.83.209.48]) by sourceware.org (Postfix) with ESMTPS id 7A27438515D6 for ; Tue, 30 Mar 2021 09:31:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7A27438515D6 X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id D50FF641BC1; Tue, 30 Mar 2021 09:31:31 +0000 (UTC) Received: from pdx1-sub0-mail-a20.g.dreamhost.com (100-101-162-27.trex.outbound.svc.cluster.local [100.101.162.27]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 9C7C6641C07; Tue, 30 Mar 2021 09:31:29 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|siddhesh@gotplt.org Received: from pdx1-sub0-mail-a20.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384) by 100.101.162.27 (trex/6.1.1); Tue, 30 Mar 2021 09:31:31 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|siddhesh@gotplt.org X-MailChannels-Auth-Id: dreamhost X-Eight-Continue: 5326ffd306397fd6_1617096691773_1396927348 X-MC-Loop-Signature: 1617096691773:4155268651 X-MC-Ingress-Time: 1617096691773 Received: from pdx1-sub0-mail-a20.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a20.g.dreamhost.com (Postfix) with ESMTP id 513CF8B049; Tue, 30 Mar 2021 02:31:29 -0700 (PDT) Received: from rhbox.intra.reserved-bit.com (unknown [1.186.101.110]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: siddhesh@gotplt.org) by pdx1-sub0-mail-a20.g.dreamhost.com (Postfix) with ESMTPSA id 0355F8A828; Tue, 30 Mar 2021 02:31:26 -0700 (PDT) X-DH-BACKEND: pdx1-sub0-mail-a20 To: libc-alpha@sourceware.org Subject: [COMMITTED] Move __isnanf128 to libc.so Date: Tue, 30 Mar 2021 15:01:13 +0530 Message-Id: <20210330093113.744625-1-siddhesh@sourceware.org> X-Mailer: git-send-email 2.29.2 In-Reply-To: <87lfa51uuk.fsf@linux.ibm.com> References: <87lfa51uuk.fsf@linux.ibm.com> MIME-Version: 1.0 X-Spam-Status: No, score=-3494.3 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_NONE, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_NEUTRAL, TXREP, URIBL_BLACK autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Siddhesh Poyarekar via Libc-alpha From: Siddhesh Poyarekar Reply-To: Siddhesh Poyarekar Cc: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" All of the isnan functions are in libc.so due to printf_fp, so move __isnanf128 there too for consistency. Reviewed-by: Tulio Magno Quites Machado Filho Reviewed-by: Florian Weimer --- sysdeps/ia64/float128-abi.h | 1 + sysdeps/ieee754/float128/Versions | 5 ++++- sysdeps/ieee754/float128/s_isnanf128.c | 19 +++++++++++++++++++ sysdeps/ieee754/ldbl-128/float128-abi.h | 1 + sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libm.abilist | 1 - sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/i386/libm.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/ia64/libm.abilist | 1 - .../linux/powerpc/powerpc64/le/float128-abi.h | 1 + .../linux/powerpc/powerpc64/le/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/le/libm.abilist | 1 - .../unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ .../unix/sysv/linux/x86_64/64/libm.abilist | 1 - .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ .../unix/sysv/linux/x86_64/x32/libm.abilist | 1 - sysdeps/x86/float128-abi.h | 1 + 18 files changed, 39 insertions(+), 7 deletions(-) diff --git a/sysdeps/ia64/float128-abi.h b/sysdeps/ia64/float128-abi.h index 6b954cc673..8e7616bc7e 100644 --- a/sysdeps/ia64/float128-abi.h +++ b/sysdeps/ia64/float128-abi.h @@ -1,2 +1,3 @@ /* ABI version for _Float128 ABI introduction. */ #define FLOAT128_VERSION GLIBC_2.26 +#define FLOAT128_VERSION_M GLIBC_2_26 diff --git a/sysdeps/ieee754/float128/Versions b/sysdeps/ieee754/float128/Versions index 2eebc6f1b0..2be97f8564 100644 --- a/sysdeps/ieee754/float128/Versions +++ b/sysdeps/ieee754/float128/Versions @@ -4,9 +4,13 @@ %endif libc { FLOAT128_VERSION { + __isnanf128; __strtof128_internal; __wcstof128_internal; } + GLIBC_2.34 { + __isnanf128; + } GLIBC_PRIVATE { # For __nanf128. __strtof128_nan; @@ -30,7 +34,6 @@ libm { __hypotf128_finite; __iseqsigf128; __isinff128; - __isnanf128; __issignalingf128; __j0f128_finite; __j1f128_finite; diff --git a/sysdeps/ieee754/float128/s_isnanf128.c b/sysdeps/ieee754/float128/s_isnanf128.c index efba24059a..59f71533ce 100644 --- a/sysdeps/ieee754/float128/s_isnanf128.c +++ b/sysdeps/ieee754/float128/s_isnanf128.c @@ -1,2 +1,21 @@ +#include #include +#if !IS_IN (libm) +#undef __isnanl +#define __isnanl __isnanf128_impl +#undef weak_alias +#define weak_alias(n,a) +#undef mathx_hidden_def +#define mathx_hidden_def(x) +#endif #include "../ldbl-128/s_isnanl.c" +#if !IS_IN (libm) +#include +hidden_ver (__isnanf128_impl, __isnanf128) +_weak_alias (__isnanf128_impl, isnanl) +versioned_symbol (libc, __isnanf128_impl, __isnanf128, GLIBC_2_34); +#if (SHLIB_COMPAT (libc, FLOAT128_VERSION_M, GLIBC_2_34)) +strong_alias (__isnanf128_impl, __isnanf128_alias) +compat_symbol (libc, __isnanf128_alias, __isnanf128, FLOAT128_VERSION_M); +#endif +#endif diff --git a/sysdeps/ieee754/ldbl-128/float128-abi.h b/sysdeps/ieee754/ldbl-128/float128-abi.h index 3077ffc7fe..8251ce841f 100644 --- a/sysdeps/ieee754/ldbl-128/float128-abi.h +++ b/sysdeps/ieee754/ldbl-128/float128-abi.h @@ -1,2 +1,3 @@ /* ABI version for _Float128 ABI introduction. */ #define FLOAT128_VERSION GLIBC_2.27 +#define FLOAT128_VERSION_M GLIBC_2_27 diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index e10a286d2e..7424dc9166 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -1995,6 +1995,7 @@ GLIBC_2.25 gnu_dev_minor F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 _hurd_exec_paths F @@ -2203,6 +2204,7 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/mach/hurd/i386/libm.abilist b/sysdeps/mach/hurd/i386/libm.abilist index a19a69ce6a..bb077b9030 100644 --- a/sysdeps/mach/hurd/i386/libm.abilist +++ b/sysdeps/mach/hurd/i386/libm.abilist @@ -474,7 +474,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index cdb6ec501a..cfd4e55e57 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2011,6 +2011,7 @@ GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 preadv2 F @@ -2250,6 +2251,7 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill F GLIBC_2.4 __confstr_chk F diff --git a/sysdeps/unix/sysv/linux/i386/libm.abilist b/sysdeps/unix/sysv/linux/i386/libm.abilist index 0ab740dd97..335b5e7aa2 100644 --- a/sysdeps/unix/sysv/linux/i386/libm.abilist +++ b/sysdeps/unix/sysv/linux/i386/libm.abilist @@ -481,7 +481,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index d0424a8b1a..426e15f4f6 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1873,6 +1873,7 @@ GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 preadv2 F @@ -2107,6 +2108,7 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill F GLIBC_2.4 __confstr_chk F diff --git a/sysdeps/unix/sysv/linux/ia64/libm.abilist b/sysdeps/unix/sysv/linux/ia64/libm.abilist index c8e8fd7142..ec82b83e6f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libm.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libm.abilist @@ -411,7 +411,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h index 6b954cc673..8e7616bc7e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/float128-abi.h @@ -1,2 +1,3 @@ /* ABI version for _Float128 ABI introduction. */ #define FLOAT128_VERSION GLIBC_2.26 +#define FLOAT128_VERSION_M GLIBC_2_26 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index d99afb2f60..ec9ae25539 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2184,6 +2184,7 @@ GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 preadv2 F @@ -2367,5 +2368,6 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist index 4f8d3c1191..8266bc32f4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libm.abilist @@ -478,7 +478,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index dde107a249..da0974f11a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -1854,6 +1854,7 @@ GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 preadv2 F @@ -2089,6 +2090,7 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill F GLIBC_2.4 __confstr_chk F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist index 89c4ac484d..b6a088ca64 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libm.abilist @@ -472,7 +472,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index dcea87ca22..d3d155e7c0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2107,6 +2107,7 @@ GLIBC_2.25 getrandom F GLIBC_2.25 strfromd F GLIBC_2.25 strfromf F GLIBC_2.25 strfroml F +GLIBC_2.26 __isnanf128 F GLIBC_2.26 __strtof128_internal F GLIBC_2.26 __wcstof128_internal F GLIBC_2.26 preadv2 F @@ -2186,5 +2187,6 @@ GLIBC_2.33 mknod F GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F +GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist index d3c9cec71a..dfb5a7fa79 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libm.abilist @@ -472,7 +472,6 @@ GLIBC_2.26 __gammaf128_r_finite F GLIBC_2.26 __hypotf128_finite F GLIBC_2.26 __iseqsigf128 F GLIBC_2.26 __isinff128 F -GLIBC_2.26 __isnanf128 F GLIBC_2.26 __issignalingf128 F GLIBC_2.26 __j0f128_finite F GLIBC_2.26 __j1f128_finite F diff --git a/sysdeps/x86/float128-abi.h b/sysdeps/x86/float128-abi.h index 6b954cc673..8e7616bc7e 100644 --- a/sysdeps/x86/float128-abi.h +++ b/sysdeps/x86/float128-abi.h @@ -1,2 +1,3 @@ /* ABI version for _Float128 ABI introduction. */ #define FLOAT128_VERSION GLIBC_2.26 +#define FLOAT128_VERSION_M GLIBC_2_26