From owner-freebsd-toolchain@FreeBSD.ORG Tue Dec 16 16:15:16 2014 Return-Path: Delivered-To: freebsd-toolchain@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B461A87A; Tue, 16 Dec 2014 16:15:16 +0000 (UTC) Received: from theravensnest.org (theraven.freebsd.your.org [216.14.102.27]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "cloud.theravensnest.org", Issuer "StartCom Class 1 Primary Intermediate Server CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 7B65C7DA; Tue, 16 Dec 2014 16:15:15 +0000 (UTC) Received: from [192.168.1.18] (ABordeaux-259-1-48-189.w109-223.abo.wanadoo.fr [109.223.255.189]) (authenticated bits=0) by theravensnest.org (8.14.9/8.14.9) with ESMTP id sBGGFAmH026276 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Tue, 16 Dec 2014 16:15:13 GMT (envelope-from theraven@FreeBSD.org) X-Authentication-Warning: theravensnest.org: Host ABordeaux-259-1-48-189.w109-223.abo.wanadoo.fr [109.223.255.189] claimed to be [192.168.1.18] Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\)) Subject: Re: Migration to dynamic libs for llvm and clang From: David Chisnall In-Reply-To: Date: Tue, 16 Dec 2014 16:15:09 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: <74C51AC7-B7ED-4EBC-8506-1554C7CA31FF@FreeBSD.org> References: <41F09A1C-01D6-42C9-B495-244DFC2B0364@FreeBSD.org> To: Dimitry Andric X-Mailer: Apple Mail (2.1878.6) Cc: freebsd-toolchain@freebsd.org X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Dec 2014 16:15:16 -0000 On 16 Dec 2014, at 16:04, Dimitry Andric wrote: > This is precisely why the libs should go into /usr/lib/private, so as = to > avoid collisions with any upstream libraries installed by e.g. ports = (or > when you manually run "make install" after building). That's still potentially an issue if we add local tools that use = libclang APIs (which we may well do). > I'm not sure we want to go the 'libbsdfoo.so' route again, as Baptiste > tried this before, and seems to have reversed it again. :) Upstream doesn't call it libclang (that's the name of the library with a = stable C ABI, which is why I'd like us not to confuse it with something = with a library with an unstable C++ API). They do produce a libLLVM.so = from the LLVM builds and work is underway to have shared library builds = for clang. libLLVM.so could potentially be in /usr/lib in 11 if we have a packaged = base system, as it would allow us to have different .so versions = installed if things demanded them. The point releases guarantee = backwards ABI compatibility, so we can still upgrade to them if = required. > That said, I agree with the general idea, but one of the first things > we should decide is whether this will be optional or not. Having to > maintain yet another WITH_CLANG_FOO option is burdensome... I agree. I'd quite like to see performance numbers for the compiler. I = think I saw about a 10% overhead for buildworld last time I tried, but = that was a couple of years ago. David