From patchwork Tue Mar 22 20:33:43 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Meissner X-Patchwork-Id: 600943 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 ozlabs.org (Postfix) with ESMTPS id 3qV4F55HQ6z9s5l for ; Wed, 23 Mar 2016 07:34:48 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=K/DijXmj; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; q=dns; s= default; b=Q7Hs7FbHA/sRikflPw0lL2JKjzBbxgDfYGCmDEG29TN9rVKM3UPvW 0MCsQo2R66KmpCM3RgkbzZ1M3N1Z0aEB70LRMYZb4RlZG9Q0ddlJSaxaCZUaJb33 s5Ev7uVzconhNSq6OIauJrmrSHyUbae2APyLwhWGUXnqYaJacGcZ+k= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:date :from:to:subject:message-id:mime-version:content-type; s= default; bh=gCDOs0HQNtSPSDiWzNOWnpYk8QI=; b=K/DijXmjpAIDrml/1dKx 6CYOe/SJkrcVdwij0CZQgAvH8UUk2EXz0Hg82MyCAkMziMW0WJZUGpDJfqPUGD0H Kj1zX9aRbbINCV5FrPoGE1v9rqx33TjB6F/YDBv5MPtOx0G1lhSbWIrQqRq5TiKf ks3H8np5JPnszR76v5OEsG4= Received: (qmail 13899 invoked by alias); 22 Mar 2016 20:34:38 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 13886 invoked by uid 89); 22 Mar 2016 20:34:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.1 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 spammy=King, 978, HX-Envelope-From:sk:meissne, Street X-HELO: e32.co.us.ibm.com Received: from e32.co.us.ibm.com (HELO e32.co.us.ibm.com) (32.97.110.150) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Tue, 22 Mar 2016 20:34:37 +0000 Received: from localhost by e32.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 22 Mar 2016 14:33:50 -0600 Received: from d03dlp02.boulder.ibm.com (9.17.202.178) by e32.co.us.ibm.com (192.168.1.132) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 22 Mar 2016 14:33:47 -0600 X-IBM-Helo: d03dlp02.boulder.ibm.com X-IBM-MailFrom: meissner@ibm-tiger.the-meissners.org X-IBM-RcptTo: gcc-patches@gcc.gnu.org Received: from b03cxnp08026.gho.boulder.ibm.com (b03cxnp08026.gho.boulder.ibm.com [9.17.130.18]) by d03dlp02.boulder.ibm.com (Postfix) with ESMTP id E4DA63E40047 for ; Tue, 22 Mar 2016 14:33:45 -0600 (MDT) Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by b03cxnp08026.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u2MKXjd245744280 for ; Tue, 22 Mar 2016 13:33:45 -0700 Received: from d03av02.boulder.ibm.com (localhost [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u2MKXjnm029207 for ; Tue, 22 Mar 2016 14:33:45 -0600 Received: from ibm-tiger.the-meissners.org (dhcp-9-32-77-111.usma.ibm.com [9.32.77.111]) by d03av02.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u2MKXjmS029176; Tue, 22 Mar 2016 14:33:45 -0600 Received: by ibm-tiger.the-meissners.org (Postfix, from userid 500) id EF59843C63; Tue, 22 Mar 2016 16:33:43 -0400 (EDT) Date: Tue, 22 Mar 2016 16:33:43 -0400 From: Michael Meissner To: gcc-patches@gcc.gnu.org, dje.gcc@gmail.com Subject: [PATCH] PR libgcc/70363, fix __float128 problem with non ISA-3.0 assembler Message-ID: <20160322203343.GA29277@ibm-tiger.the-meissners.org> Mail-Followup-To: Michael Meissner , gcc-patches@gcc.gnu.org, dje.gcc@gmail.com MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.20 (2009-12-10) X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16032220-0005-0000-0000-00001F6378A0 X-IsSubscribed: yes This patch fixes PR libgcc/70363, which is a configuration issue if you build GCC 6.x with an assembler that does not support the ISA 3.0 instructions. I missed one emulation function that needed to be a different name if the IFUNC functions added for ISA 3.0 support are not being built. I built a trunk compiler with a stock assembler, and did a program with a convert from __float128 to long double/__ibm128. If I did not include the patch, the linker reported: -genoa-> ~/fsf-install-ppc64le/trunk-at9x/bin/gcc -O2 test-float128-6.c -DDEBUG && a.out /tmp/ccbCLWdO.o: In function `print_hex.constprop.0': test-float128-6.c:(.text+0x84): undefined reference to `__extendkftf2' collect2: error: ld returned 1 exit status If built a compiler with the patch, it succeeds. Is this patch ok to install in the trunk? 2016-03-22 Michael Meissner PR libgcc/70363 * config/rs6000/extendkftf2-sw.c (__extendkftf2_sw): If libgcc was built with an assembler that does not support ISA 3.0 instructions, rename __extendkftf2_sw to __extendkftf2. Index: libgcc/config/rs6000/extendkftf2-sw.c =================================================================== --- libgcc/config/rs6000/extendkftf2-sw.c (revision 234405) +++ libgcc/config/rs6000/extendkftf2-sw.c (working copy) @@ -39,6 +39,10 @@ #include "soft-fp.h" #include "quad-float128.h" +#ifndef FLOAT128_HW_INSNS +#define __extendkftf2_sw __extendkftf2 +#endif + IBM128_TYPE __extendkftf2_sw (__float128 value) {