Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Nov 2012 18:01:51 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Roman Divacky <rdivacky@freebsd.org>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, freebsd-current@freebsd.org, Steve Kargl <sgk@troutmask.apl.washington.edu>
Subject:   Re: clang and static linking?
Message-ID:  <509D36FF.3000409@FreeBSD.org>
In-Reply-To: <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> <20121109164541.GA34499@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-11-09 17:45, Roman Divacky wrote:
> On Fri, Nov 09, 2012 at 08:43:04AM -0800, Steve Kargl wrote:
...
...
>> 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.

No, it is not related to the optimization level.  It looks like isnan()
is a builtin for gcc, but not for clang.  The isnan() macro expands to a
isnan() call for a few of libm's objects:

	s_fdim.o
	s_csqrt.o
	e_scalb.o


> Maybe use __builtin_isnan instead of isnan in the isnan macro expansion?

Either that, or if people prefer to use libc's isnan() implementation,
make sure gcc also calls it instead.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?509D36FF.3000409>