Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 Oct 2013 16:42:25 -0400
From:      "Mikhail T." <mi+thun@aldan.algebra.com>
To:        Dimitry Andric <dim@FreeBSD.org>
Cc:        stable@FreeBSD.org
Subject:   Re: runtime linker on 9.x/i386: clang vs. gcc
Message-ID:  <525C5731.7020809@aldan.algebra.com>
In-Reply-To: <B4BCF2B5-5B37-47E1-BCB7-A0159E249E10@FreeBSD.org>
References:  <525C1A5C.2030605@aldan.algebra.com> <B4BCF2B5-5B37-47E1-BCB7-A0159E249E10@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
10/14/13 4:31 PM, Dimitry Andric ???????(??):
> There is a problem when clang does tail-call optimization on i386 with
> PIC in effect, and it emits GOT relocations for the tail-called
> functions, instead of PLT relocations.  In some scenarios, such as with
> the way X.org does lazy dynamic linking, this can cause problems.  See
> alsohttp://llvm.org/PR15086  (which I unfortunately did not get much
> response on).
Ouch... That seems like a show-stopper for clang-adoption... At least, 
on i386.
> For now, a workaround is to recompile the affected .so files with
> -fno-optimize-sibling-calls (if you are optimizing).
Maybe, our clang (both src/ and ports/) should be compiled with that 
being in effect by default on i386?

    -mi




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?525C5731.7020809>