From owner-freebsd-toolchain@freebsd.org Mon Apr 17 04:32:29 2017 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 624EAD41C2B for ; Mon, 17 Apr 2017 04:32:29 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-41.reflexion.net [208.70.210.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id F364F1613 for ; Mon, 17 Apr 2017 04:32:28 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 26934 invoked from network); 17 Apr 2017 04:32:27 -0000 Received: from unknown (HELO mail-cs-02.app.dca.reflexion.local) (10.81.19.2) by 0 (rfx-qmail) with SMTP; 17 Apr 2017 04:32:27 -0000 Received: by mail-cs-02.app.dca.reflexion.local (Reflexion email security v8.40.0) with SMTP; Mon, 17 Apr 2017 00:32:27 -0400 (EDT) Received: (qmail 383 invoked from network); 17 Apr 2017 04:32:27 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 17 Apr 2017 04:32:27 -0000 Received: from [192.168.1.106] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id 56C93EC86CF; Sun, 16 Apr 2017 21:32:26 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: FYI: amd64 built with WITH_LLD_IS_LD= vs. devel/libunwind : cannot preempt symbol (for various symbols) From: Mark Millard In-Reply-To: Date: Sun, 16 Apr 2017 21:32:25 -0700 Cc: FreeBSD Toolchain , FreeBSD Current , FreeBSD Ports Content-Transfer-Encoding: quoted-printable Message-Id: <6C9833F3-8DA6-4D79-A076-F4B78C47CC72@dsl-only.net> References: <37CB2849-A509-4C1D-AB93-A1FBFF70E959@dsl-only.net> To: Ed Maste X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 17 Apr 2017 04:32:29 -0000 On 2017-Apr-16, at 7:01 PM, Ed Maste wrote: > On 16 April 2017 at 04:10, Mark Millard wrote: >> Context: amd64 FreeBSD -r316952 as a VirtualBox guest >> that was built using WITH_LLD_IS_LD=3D . ports -r438577. >>=20 >> x11/xorg-minimal indirectly gets to devel/libunwind and >> devel/libunwind fails to build from source: >>=20 >>=20 >> --- Lperf-simple --- >> libtool: link: cc -O2 -pipe -g -fstack-protector -fno-strict-aliasing = -fexceptions -Wall -Wsign-compare -fstack-protector -o = .libs/Lperf-simple Lperf-simple.o ../src/.libs/libunwind.so -lgcc = -llzma -Wl,-rpath -Wl,/usr/local/lib >> /usr/bin/ld: error: ./Gperf-simple.c:195: cannot preempt symbol = '_ULx86_64_init_local' defined in ../src/.libs/libunwind.so >=20 > The LLD ports exp-run identified the "cannot preempt symbol" issue as > being responsible for the largest number of failed or skipped ports. > You can find a description of the issue in LLVM PR 30960 > (https://bugs.llvm.org//show_bug.cgi?id=3D30960). This is a tricky > issue, and one for which there's not a clear right answer, but is > arguably a problem that needs to be addressed in the individual pieces > of software (libunwind, openal-soft, etc.) Good to know. > As a temporary workaround you can add CFLAGS+=3D -fPIC to the port's > Makefile, as in > = https://github.com/emaste/freebsd-ports/commit/4857444b31ca546e29e221dce2a= 41092765e6062 I've set this up for the next time I try using WITH_LLD_IS_LD=3D on amd64. Thanks. When I reverted earlier to binutils based ld a later qt5-widgets vs. libQt5Core.so ended up with: "multiple definition of" for __bss_start@Qt_5 _edata@Qt_5 _end@Qt_5 and this stoped the build that I was attempting. (I did not make to to the x11/lumina that I explicitly specified as to be built.) So my -fPIC experiment using WITH_LLD_IS_LD=3D on amd64 will not likely happen until Qt5 can build what is involved in its supporting x11/lumina . (Having at least x11/xorg-minimal also helps with using x11/lumina . But until I can have x11/lumina I've no intended use for x11/xorg-minimal .) =3D=3D=3D Mark Millard markmi at dsl-only.net