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=-3.4 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,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 535621F732 for ; Fri, 9 Aug 2019 18:32:10 +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:content-type; q=dns; s=default; b=j55 3lyeSF3EmSuiy9JgBhpmq/O1fQ/Qqu+poL3IP0FLYm7Dagb9PASRBfwiETRqI+QM 0bn3m9pE/Lh0Rg4ok9cTI3fDyBwc2Ru+JFhYCcbKImWuGPBd9HLBtcIp8HOOw29H lI9tcS7rQcx9Iqk1grjpsZYWORUzArYlUqWklfJE= 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:content-type; s=default; bh=YByVFcwfh 1ZZboWx7eJg462PyGA=; b=OORh8jUu0N7QNNkpxviEaRQdLnezSL1JOo+c4AvZ0 MQB06qMYAQJaWmwz6pES3xHdqGKxX6v4cM3sAJjouoi75Wv8oNv5xKwgMsGyVR9m kmpzG0Fc1GRkp+9slhZyoaASysJLDlLtpQ1Ncz5jUTbahk9YLNyh9KeZZIY0RWJ5 UY= Received: (qmail 67678 invoked by alias); 9 Aug 2019 18:32:07 -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 67669 invoked by uid 89); 9 Aug 2019 18:32:07 -0000 Authentication-Results: sourceware.org; auth=none X-HELO: smtpout1.mo803.mail-out.ovh.net From: "Gabriel F. T. Gomes" To: Subject: [PATCH 0/6] IEEE long double printf and friends for powerpc64le Date: Fri, 9 Aug 2019 15:31:48 -0300 Message-ID: <20190809183154.32605-1-gabriel@inconstante.net.br> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Ovh-Tracer-Id: 13555834880879349443 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgeduvddruddujedguddviecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfqggfjpdevjffgvefmvefgnecuuegrihhlohhuthemucehtddtnecu From: "Gabriel F. T. Gomes" A long time ago [1], I sent a patch set with the initial implementations of many string to/from IEEE long double conversion routines for powerpc64le. The patch set depended on other, at the time unapplied, patch sets [2,3], which are now all integrated into master. Even though this dependency existed, I got a lot of feedback (thanks, btw), which I tried to address for this new round. In this thread, I only included printf and friends functions, which helps reduce the size of the patch set and maybe ease review. :) As with previous submissions, these changes can only be tested once all other functions have actually been integrated (because the function redirections in our installed headers are macroized and work for all long double routines). So, in order to test it, I use a more complete branch, which I made available at: https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/gabriel/powerpc-ieee128-printscan [1] https://sourceware.org/ml/libc-alpha/2018-06/msg00652.html [2] https://sourceware.org/ml/libc-alpha/2018-10/msg00612.html [3] https://sourceware.org/ml/libc-alpha/2019-02/msg00582.html Gabriel F. T. Gomes (6): ldbl-128ibm-compat: Add regular character printing functions ldbl-128ibm-compat: Add wide character printing functions ldbl-128ibm-compat: Add regular character, fortified printing functions ldbl-128ibm-compat: Add wide character, fortified printing functions ldbl-128ibm-compat: Test double values ldbl-128ibm-compat: Test positional arguments elf/tst-addr1.c | 7 +- sysdeps/ieee754/ldbl-128ibm-compat/Makefile | 104 +++++++++- sysdeps/ieee754/ldbl-128ibm-compat/Versions | 45 +++++ .../ldbl-128ibm-compat/ieee128-asprintf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-asprintf_chk.c | 38 ++++ .../ldbl-128ibm-compat/ieee128-dprintf.c | 34 ++++ .../ldbl-128ibm-compat/ieee128-dprintf_chk.c | 38 ++++ .../ldbl-128ibm-compat/ieee128-fprintf.c | 34 ++++ .../ldbl-128ibm-compat/ieee128-fprintf_chk.c | 38 ++++ .../ldbl-128ibm-compat/ieee128-fwprintf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-fwprintf_chk.c | 38 ++++ .../ldbl-128ibm-compat/ieee128-printf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-printf_chk.c | 38 ++++ .../ldbl-128ibm-compat/ieee128-snprintf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-snprintf_chk.c | 42 ++++ .../ldbl-128ibm-compat/ieee128-sprintf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-sprintf_chk.c | 42 ++++ .../ldbl-128ibm-compat/ieee128-swprintf.c | 36 ++++ .../ldbl-128ibm-compat/ieee128-swprintf_chk.c | 42 ++++ .../ldbl-128ibm-compat/ieee128-vasprintf.c | 27 +++ .../ieee128-vasprintf_chk.c | 31 +++ .../ldbl-128ibm-compat/ieee128-vdprintf.c | 26 +++ .../ldbl-128ibm-compat/ieee128-vdprintf_chk.c | 30 +++ .../ldbl-128ibm-compat/ieee128-vfprintf.c | 26 +++ .../ldbl-128ibm-compat/ieee128-vfprintf_chk.c | 30 +++ .../ldbl-128ibm-compat/ieee128-vfwprintf.c | 27 +++ .../ieee128-vfwprintf_chk.c | 31 +++ .../ldbl-128ibm-compat/ieee128-vprintf.c | 27 +++ .../ldbl-128ibm-compat/ieee128-vprintf_chk.c | 30 +++ .../ldbl-128ibm-compat/ieee128-vsnprintf.c | 28 +++ .../ieee128-vsnprintf_chk.c | 34 ++++ .../ldbl-128ibm-compat/ieee128-vsprintf.c | 27 +++ .../ldbl-128ibm-compat/ieee128-vsprintf_chk.c | 34 ++++ .../ldbl-128ibm-compat/ieee128-vswprintf.c | 28 +++ .../ieee128-vswprintf_chk.c | 34 ++++ .../ldbl-128ibm-compat/ieee128-vwprintf.c | 27 +++ .../ldbl-128ibm-compat/ieee128-vwprintf_chk.c | 30 +++ .../ldbl-128ibm-compat/ieee128-wprintf.c | 35 ++++ .../ldbl-128ibm-compat/ieee128-wprintf_chk.c | 38 ++++ .../test-printf-chk-ibm128.c | 1 + .../test-printf-chk-ieee128.c | 1 + .../test-printf-chk-ldbl-compat.c | 191 ++++++++++++++++++ .../test-printf-chk-redir-ibm128.c | 2 + .../test-printf-chk-redir-ieee128.c | 2 + .../ldbl-128ibm-compat/test-printf-ibm128.c | 1 + .../ldbl-128ibm-compat/test-printf-ieee128.c | 1 + .../test-printf-ldbl-compat.c | 182 +++++++++++++++++ .../test-wprintf-chk-ibm128.c | 1 + .../test-wprintf-chk-ieee128.c | 1 + .../test-wprintf-chk-ldbl-compat.c | 122 +++++++++++ .../test-wprintf-chk-redir-ibm128.c | 2 + .../test-wprintf-chk-redir-ieee128.c | 2 + .../ldbl-128ibm-compat/test-wprintf-ibm128.c | 1 + .../ldbl-128ibm-compat/test-wprintf-ieee128.c | 1 + .../test-wprintf-ldbl-compat.c | 120 +++++++++++ .../powerpc64/le/ldbl-128ibm-compat-abi.h | 8 + 56 files changed, 1988 insertions(+), 2 deletions(-) create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-asprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-dprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-fwprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-printf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-snprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-sprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-swprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vasprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vdprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vfwprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsnprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vsprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vswprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-vwprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/ieee128-wprintf_chk.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-ldbl-compat.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-chk-redir-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-printf-ldbl-compat.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-ldbl-compat.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-chk-redir-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ibm128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ieee128.c create mode 100644 sysdeps/ieee754/ldbl-128ibm-compat/test-wprintf-ldbl-compat.c create mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/ldbl-128ibm-compat-abi.h -- 2.21.0