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>