Message ID | 260e8caa-74d0-8055-816e-4c807b0c2a9f@linux.vnet.ibm.com |
---|---|
State | Superseded |
Headers |
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: <libc-alpha.sourceware.org> List-Unsubscribe: <mailto:libc-alpha-unsubscribe-##L=##H@sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> 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 <aurelien@aurel32.net>, 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" <murphyp@linux.vnet.ibm.com> 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> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit 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 |
Commit Message
Paul E. Murphy
Aug. 26, 2016, 2:25 p.m. UTC
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 > + <http://www.gnu.org/licenses/>. */ > + > +#ifdef HAVE_AS_VIS3_SUPPORT > +# include <sparc-ifunc.h> > +# include <math.h> > + > +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 <math/s_fdim.c> 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
Comments
On 08/26/2016 09:25 AM, Paul E. Murphy wrote: > 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 <math/s_fdim.c> > +#include <ldbl-opt/s_fdim.c> Note, Joseph mentioned in BZ this is used for 64b builds, which does not use ldbl-opt. So, this is not a correct fix.
On Fri, 26 Aug 2016, Paul E. Murphy wrote: > On 08/26/2016 09:25 AM, Paul E. Murphy wrote: > > 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 <math/s_fdim.c> > > +#include <ldbl-opt/s_fdim.c> > > Note, Joseph mentioned in BZ this is used for 64b builds, As it's in sysdeps/sparc/sparc32/sparcv9 it shouldn't be used for 64b builds....
On 2016-08-26 09:34, Paul E. Murphy wrote: > > > On 08/26/2016 09:25 AM, Paul E. Murphy wrote: > > 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 <math/s_fdim.c> > > +#include <ldbl-opt/s_fdim.c> > > Note, Joseph mentioned in BZ this is used for 64b builds, > which does not use ldbl-opt. So, this is not a correct fix. I actually think your fix is the correct one. I have found an old build log and this is the file used when building with --disable-multiarch. I will run a build to confirm that. I do wonder if simply using "#include_next <s_fdim.c>" would prevent this kind of error. It's a GNU extension, but it's seems to be used in many places already, so it's probably acceptable. Aurelien
From: Joseph Myers <joseph@codesourcery.com> Date: Fri, 26 Aug 2016 16:02:11 +0000 > On Fri, 26 Aug 2016, Paul E. Murphy wrote: > >> On 08/26/2016 09:25 AM, Paul E. Murphy wrote: >> > 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 <math/s_fdim.c> >> > +#include <ldbl-opt/s_fdim.c> >> >> Note, Joseph mentioned in BZ this is used for 64b builds, > > As it's in sysdeps/sparc/sparc32/sparcv9 it shouldn't be used for 64b > builds.... Right, that directory is for 32-bit v9 builds.
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 <math/s_fdim.c> +#include <ldbl-opt/s_fdim.c>