From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS31976 209.132.180.0/23 X-Spam-Status: No, score=-4.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 854201F466 for ; Mon, 3 Feb 2020 21:10:53 +0000 (UTC) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-transfer-encoding; q=dns; s=default; b=w5P6wjBmu0sHl3k4 JRsDLUgR1+0xQTZE3Z3sML3QB7KfzVLVFl+p/lOfwFTqjKCXZVEShXkV+xenEGXf QQM8D+tIsq1Mi08EH+gUW9wblSeB7tIZet2H6KuZvcqjeeqBOzeI0tXy1SNyLCSh HvMjqweG9gA83JoOUFZS7X8xeOM= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:mime-version :content-transfer-encoding; s=default; bh=zPBe01Imrhf/HIWjUsHQ3/ x0UxA=; b=uz6VFRhb4RY8Rchac/7GZLANGobJwHuH6A+oO1C8Na0GeGYmQrj5uM LdTQ5vXrlJMiAgTnDWqDtrbvU8ZLvHLKzvVlRZ6/9BYcSM6yy3V/xgihnlTN6gZ8 +AQX5Skfa9bHRWY2F/h4jB/5xkKVFIf2g84lnm+/+Sn7AFXsNdUVQ= Received: (qmail 65083 invoked by alias); 3 Feb 2020 21:10:50 -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 Received: (qmail 65075 invoked by uid 89); 3 Feb 2020 21:10:50 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: mx0a-001b2d01.pphosted.com From: "Paul E. Murphy" To: libc-alpha@sourceware.org Subject: [PATCH 0/6] long double to _Float128 redirecting support Date: Mon, 3 Feb 2020 15:10:38 -0600 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit There are still quite a few (about 26) patches to enable support for a third long double format on powerpc64le. I will focus on the changes to the shared headers and common files first. Patch 1 is unmodified from shortly before the closure of the 2.31 development cycle, and should complete the libc work to support the newest long double format. Patch 2 fixes some bugs in the header redirects for ldbl == dbl. This has been rebased, but is otherwise the same. It is necessary to support the redirects in the subsequent patches. Patches 3-5 add redirects to the math functions sufficient to expose the new ABI. These have been posted previously around mid 2018. I have updated them and dusted them off. Patch 6 introduces templating to the scalb functions in support of using these templates to support ldbl == ieee128 later on. I've tested this on x86 and ppc64le. The remaining patches are mostly self-contained, but can be posted to a feature branch for those wanting a sneak peak at the whole story. ---8<--- As an aside, I have taken over the work to support the ldbl ieee128 transition from Gabriel. Likewise, my copyright assignment should also remain intact after my... intermission. Gabriel F. T. Gomes (1): Prepare redirections for IEEE long double on powerpc64le Rajalakshmi Srinivasaraghavan (1): ldbl-128ibm-compat: Redirect complex math functions Tulio Magno Quites Machado Filho (4): Undefine redirections after long double definition on __LDBL_COMPAT [BZ #23294] ldbl-128ibm-compat: Redirect long double functions to f128/ieee128 functions ldbl-128ibm-compat: Provide ieee128 symbols to narrow functions Add a generic scalb implementation argp/argp.h | 3 +- include/math.h | 9 +- libio/bits/stdio-ldbl.h | 46 ++++++---- libio/stdio.h | 16 ++-- math/Makefile | 7 +- math/bits/mathcalls-helper-functions.h | 18 ++-- math/bits/mathcalls.h | 9 +- math/complex.h | 29 ++++++- math/{e_scalb.c => e_scalb_template.c} | 33 +++---- math/e_scalbf.c | 54 ------------ math/e_scalbl.c | 54 ------------ math/math-narrow.h | 15 +--- math/math.h | 75 ++++++++++++++-- math/w_scalb_compat.c | 6 +- math/w_scalb_template.c | 59 +++++++++++++ math/w_scalbf_compat.c | 4 +- math/w_scalbl_compat.c | 4 +- misc/bits/syslog-ldbl.h | 4 +- misc/err.h | 3 +- misc/error.h | 6 +- misc/sys/cdefs.h | 38 +++++++- misc/sys/syslog.h | 4 +- stdio-common/printf.h | 3 +- stdlib/bits/stdlib-ldbl.h | 22 +++++ stdlib/monetary.h | 3 +- stdlib/stdlib.h | 4 +- sysdeps/generic/math-narrow-alias-float128.h | 32 +++++++ sysdeps/ieee754/float128/w_scalbf128.c | 1 + sysdeps/ieee754/ldbl-128ibm-compat/Versions | 8 ++ .../math-narrow-alias-float128.h | 34 ++++++++ .../ieee754/ldbl-128ibm/bits/iscanonical.h | 8 +- sysdeps/ieee754/ldbl-opt/Makefile | 4 +- .../ldbl-opt/test-redirection-ldbl-64.c | 87 +++++++++++++++++++ sysdeps/ieee754/ldbl-opt/w_scalb_compat.c | 4 +- sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c | 2 + wcsmbs/bits/wchar-ldbl.h | 36 ++++++-- wcsmbs/wchar.h | 14 +-- 37 files changed, 539 insertions(+), 219 deletions(-) rename math/{e_scalb.c => e_scalb_template.c} (64%) delete mode 100644 math/e_scalbf.c delete mode 100644 math/e_scalbl.c create mode 100644 math/w_scalb_template.c create mode 100644 sysdeps/generic/math-narrow-alias-float128.h create mode 100644 sysdeps/ieee754/float128/w_scalbf128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/math-narrow-alias-float128.h create mode 100644 sysdeps/ieee754/ldbl-opt/test-redirection-ldbl-64.c -- 2.21.1