From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 123330 invoked by alias); 18 Sep 2018 06:22:20 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Received: (qmail 123318 invoked by uid 89); 18 Sep 2018 06:22:20 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,UNPARSEABLE_RELAY autolearn=no version=3.3.2 spammy= X-HELO: smtp2200-217.mail.aliyun.com X-Alimail-AntiSpam:AC=CONTINUE;BC=0.07538692|-1;CH=green;FP=0|0|0|0|0|-1|-1|-1;HT=e02c03298;MF=han_mao@c-sky.com;NM=1;PH=DS;RN=4;RT=4;SR=0;TI=SMTPD_---.CsHzXXV_1537251733; Date: Tue, 18 Sep 2018 06:22:00 -0000 From: Mao Han To: Joseph Myers Cc: c-sky_gcc_upstream@c-sky.com, gnu-csky@mentor.com, libc-alpha@sourceware.org Subject: Re: [PATCH v4 00/13] port C-SKY to glibc Message-ID: <20180918062209.GD3355@vmh-VirtualBox> References: <20180913081354.GA4004@vmh-VirtualBox> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.24 (2015-08-30) X-SW-Source: 2018-09/txt/msg00274.txt.bz2 On Thu, Sep 13, 2018 at 12:36:15PM +0000, Joseph Myers wrote: > A different dynamic linker name should be used because the ABI to libc and > other glibc libraries is incompatible; if you have a different dynamic > linker name for every ABI, that allows distributions using Debian-style > multiarch directory arrangements to have libraries for both ABIs installed > simultaneously. Then, because you can't sensibly use soft-float binaries > with hard-float libm, you should have the conditionals in bits/fenv.h (a > single installed header should be set up to work for both ABIs) so that it > doesn't define macros for unsupported features for soft float. > > Once you have the conditionals in bits/fenv.h, the glibc testsuite will > automatically disable tests for unsupported features for soft float, and > internal calls to fenv.h functions within libm will automatically be > optimized out for soft float. > OK. I've add different dynamic linker name name for hard-float and put some conditionals in bits/fenv.h, seems work fine. > It's not required, but it's a good idea to make binutils check for ABI > incompatibilities at static link time, using GNU object attributes, which > GCC should generate based on the ABI selected when compiling. See how > powerpc and mips handle this, for example. That helps protect against > user mistakes (linking .o files for different ABIs together) by making the > linker complain about such mixing. OK. I'll try to add some check here. > The Argument Passing section of the ABI document you provided doesn't seem > to say anything about the different argument passing for hard float, so I > think you need to update the document to cover that issue (likewise for > return values if they are handled differently for hard float). (And the > table in 2.2.1.2 would presumably also need to say what's used for > argument passing.) OK. We will update it. > We want the build-many-glibcs.py build to succeed. You'll need to > investigate why you see this problem. The -profile option is defined in > gcc/config/gnu-user.opt which all *-linux* targets should be using, so > you'll need to look at why you get an error there. > > > > > 5. The following cases fail due to gcc optimize change the sequence of > > > > -a * b to -(a * b) and got 1ulps error. > > > > math/test-double-tgamma > > > > math/test-float-tgamma > > > > math/test-float32-tgamma > > > > math/test-float32x-tgamma > > > > math/test-float64-tgamma > > > > math/test-ldouble-tgamma > > No, you just need to get a fix for the problem checked in upstream; no > need to file a bug in GCC Bugzilla. OK. My colleague Xianmiao Qu is working on these problems, will be fixed soon. Thanks, Han Mao