Date: Mon, 17 Feb 2020 14:12:31 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: Dewayne Geraghty <dewayne.geraghty@heuristicsystems.com.au> Cc: freebsd-hackers@freebsd.org Subject: Re: Why is not llvm-config executable included? Message-ID: <20200217121231.GB29554@kib.kiev.ua> In-Reply-To: <0f258cc4-7aae-b757-add0-e44c329c8255@heuristicsystems.com.au> References: <D1A947BC-BCD9-4BAE-9D1B-EB1B433C1452@FreeBSD.org> <20200215185821.GV4808@kib.kiev.ua> <0f258cc4-7aae-b757-add0-e44c329c8255@heuristicsystems.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 17, 2020 at 09:03:49AM +1100, Dewayne Geraghty wrote: > On 16/02/2020 9:27 am, Konstantin Belousov wrote: > > One of the reason why llvm in base should not be used as llvm infrastructure > > is because llvm API and ABI is not stable across llvm releases, and exposing > > that would make compiler updates in stable impossible due to the stable > > branches guarantee of ABI stability. > > I think you're saying - don't build ports in a base (without the llvm > port), rather use a separate build jail with llvm port. I am not saying anything even close to that. I am claiming that libraries built as part of the /usr/bin/cc build in base should not be used for any other purposes. It is not trivial to use them, because they are not installed. Which is good for the reasons I explained in my first response. It might be that installing these libs in private manner would be useful because tom% ls -li /usr/bin/{cc,ld.lld,lldb} ~ 241736 -r-xr-xr-x 6 root wheel 66188728 28 янв. 13:21 /usr/bin/cc 241866 -r-xr-xr-x 1 root wheel 39837056 28 янв. 13:21 /usr/bin/ld.lld 241987 -r-xr-xr-x 1 root wheel 64386992 28 янв. 13:21 /usr/bin/lldb i.e. we might save around 100MB from the base install. But even if this is done, the libs are still strictly for base /usr/bin/cc. > > We used to build all ports in base and ship them to clients. Around > FreeBSD6 we started to build within a jailed environment, as we > supported i386 & amd64; something we still do. Though I'm concerned > that perhaps we should migrate (our jails) back to using gcc where-ever > possible, in the hope of avoiding future ABI incompatibility? > > In my experience replacing a base 'something' with the port of > 'something' must be done carefully. (our experience with > binutils and libressl, ultimately required removing all base "stuff" and > using workarounds like softlinks - a bit messy, but scriptable) > > Would using gcc, in the build jail, provide better insurance against ABI > breakage? I do not see how using gcc instead of clang would change anything regarding ABI. Also what ABI breakage are you talking about there ?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20200217121231.GB29554>