From owner-freebsd-current@FreeBSD.ORG Fri Nov 9 16:45:48 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 97698551 for ; Fri, 9 Nov 2012 16:45:48 +0000 (UTC) (envelope-from rdivacky@vlakno.cz) Received: from vlakno.cz (mail.vlakno.cz [178.238.39.38]) by mx1.freebsd.org (Postfix) with ESMTP id 5080D8FC18 for ; Fri, 9 Nov 2012 16:45:47 +0000 (UTC) Received: by vlakno.cz (Postfix, from userid 1002) id 2D10D1CC58FA; Fri, 9 Nov 2012 17:45:41 +0100 (CET) Date: Fri, 9 Nov 2012 17:45:41 +0100 From: Roman Divacky To: Steve Kargl Subject: Re: clang and static linking? Message-ID: <20121109164541.GA34499@freebsd.org> References: <20121108231349.GA79485@troutmask.apl.washington.edu> <20121108234932.GA56820@troutmask.apl.washington.edu> <20121109120012.GB73505@kib.kiev.ua> <20121109164304.GA61011@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20121109164304.GA61011@troutmask.apl.washington.edu> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: Konstantin Belousov , freebsd-current@freebsd.org X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Nov 2012 16:45:48 -0000 On Fri, Nov 09, 2012 at 08:43:04AM -0800, Steve Kargl wrote: > On Fri, Nov 09, 2012 at 02:00:12PM +0200, Konstantin Belousov wrote: > > On Thu, Nov 08, 2012 at 03:49:32PM -0800, Steve Kargl wrote: > > > > > > This appears to fix the problem. Don't know if this is > > > th right way to handle it. > > > > > > Index: src/s_isnan.c > > > =================================================================== > > > --- src/s_isnan.c (revision 242701) > > > +++ src/s_isnan.c (working copy) > > > @@ -40,7 +40,6 @@ > > > > Is this patch against src/msun ? > > Yes. > > > This is only a workaround, which break ABI and older binaries. > > Which leads to an interest question. With the major upheavel > of switching to clang, are there any ABI breaking changes that > would be desirable to commit? This would entail a major library > version bump. For starters, libc/gen/isnan.c could be removed. > > > The bug is apparently in clang, which inserts the undef reference > > into the resulting object file, when weak alias references undefined > > symbol. Gnu as does not have the bug. > > > > There is some magic switch to reduce amount of clang bugs, like > > -fno-integrated-as. Please try to compile the problematic .o with the > > switch. > > I'll try this shortly. Does this mean that we need to build > all *.a libraries where a weak reference may occur with this > switch? No, this has nothing to do with llvm integrated asm. So far it looks like gcc always inline "isnan" even at O0 while clang does not. We are trying to figure out the solution. Maybe use __builtin_isnan instead of isnan in the isnan macro expansion? Roman