From patchwork Fri Aug 26 14:25:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Paul E. Murphy" X-Patchwork-Id: 663121 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 3sLNcY67TGz9sDf for ; Sat, 27 Aug 2016 00:25:33 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b=nQjNCC6m; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:subject:to:references:from:date:mime-version :in-reply-to:content-type:content-transfer-encoding:message-id; q=dns; s=default; b=D6ViBih5EugbmeILtokAcWs0L5+i9io4TVpcpfcB4+k i6TuTqsy74rjMZyO0FFcMxmqSOW9ybHjTrhCSzf40BbU5F5nAAVkpaKca7rOoYYc K4YngnGP8jtC/hkQIMkkOHcSACp4n3JNwBq7I1xo9YDBsEL16AVqsgbeuExkJfRs = 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:subject:to:references:from:date:mime-version :in-reply-to:content-type:content-transfer-encoding:message-id; s=default; bh=Vvy6/rqJBiruyGV6bcMIvJcyRFw=; b=nQjNCC6mR7FVn0JkE RJR7gNvPT2hNIslQIBVScVkeErrNAu/WBzU/vdDab9IF2YQAQk6QDB+41lO6EybJ PR/J/4WGELBedNNkok7VoJifslh2K3DuHK5TzutZPwwDJhgcgAec3vPdtuL8yoo7 M59iR1LcBVYjNQsqb95Q+hIFLg= Received: (qmail 55632 invoked by alias); 26 Aug 2016 14:25:27 -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 55614 invoked by uid 89); 26 Aug 2016 14:25:26 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.2 spammy=sk:sparc64, F22, f22, cross-toolchain X-HELO: mx0a-001b2d01.pphosted.com X-IBM-Helo: d03dlp01.boulder.ibm.com X-IBM-MailFrom: murphyp@linux.vnet.ibm.com Subject: Re: [PATCH 3/3] sparc32/sparcv9: add a VIS3 version of fdim To: Aurelien Jarno , libc-alpha@sourceware.org References: <1470272940-22128-1-git-send-email-aurelien@aurel32.net> <1470272940-22128-3-git-send-email-aurelien@aurel32.net> From: "Paul E. Murphy" Date: Fri, 26 Aug 2016 09:25:00 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.0 MIME-Version: 1.0 In-Reply-To: <1470272940-22128-3-git-send-email-aurelien@aurel32.net> X-TM-AS-GCONF: 00 X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16082614-8235-0000-0000-00000910C2A4 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00005643; HX=3.00000240; KW=3.00000007; PH=3.00000004; SC=3.00000183; SDB=6.00750012; UDB=6.00354173; IPR=6.00522648; BA=6.00004676; NDR=6.00000001; ZLA=6.00000005; ZF=6.00000009; ZB=6.00000000; ZP=6.00000000; ZH=6.00000000; ZU=6.00000002; MB=3.00012476; XFM=3.00000011; UTC=2016-08-26 14:25:08 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 16082614-8236-0000-0000-0000344AD89A Message-Id: <260e8caa-74d0-8055-816e-4c807b0c2a9f@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:, , definitions=2016-08-26_11:, , signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 suspectscore=2 malwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1604210000 definitions=main-1608260183 On 08/03/2016 08:09 PM, Aurelien Jarno wrote: > diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c > new file mode 100644 > index 0000000..c9c7704 > --- /dev/null > +++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c > @@ -0,0 +1,32 @@ > +/* Compute positive difference, sparc 32-bit. > + Copyright (C) 2016 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + . */ > + > +#ifdef HAVE_AS_VIS3_SUPPORT > +# include > +# include > + > +extern double __fdim_vis3 (double, double); > +extern double __fdim_generic (double, double); > + > +sparc_libm_ifunc(__fdim, hwcap & HWCAP_SPARC_VIS3 ? __fdim_vis3 : __fdim_generic); > +weak_alias (__fdim, fdim) > + > +# define __fdim __fdim_generic > +#endif > + > +#include Hi Aurelien, I was working on a patch to use the new generic libm infrastructure on fdim*. While testing the sparc changes, I noticed the fdiml@GLIBC_2.1 symbol is missing. I built this from a recent copy of master. The include of s_fdim.c seems to pick up the copy in math/, not in sysdeps/ieee754/ldbl-opt/ which provides the extra compat symbols. I filed BZ 20517, feel free to close if this is a mistake. I built using the F22 sparc cross-toolchain via a command similar to: ../configure CXX=broken CC="sparc64-linux-gnu-gcc -m32" --prefix=/usr/ \ --with-headers=/path/to/generic/sparc/headers/ \ --host=sparcv9-linux-gnu libc_cv_ssp=no libc_cv_ssp_strong=no Likewise, the following seemed to restore it: Thanks, Paul diff --git a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c index c9c7704..9666741 100644 --- a/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c +++ b/sysdeps/sparc/sparc32/sparcv9/fpu/multiarch/s_fdim.c @@ -29,4 +29,4 @@ weak_alias (__fdim, fdim) # define __fdim __fdim_generic #endif -#include +#include