[cfe-dev] How clang from packages is build?

Hans Wennborg via cfe-dev cfe-dev at lists.llvm.org
Thu Sep 22 09:19:39 PDT 2016


On Thu, Sep 22, 2016 at 9:09 AM, Mehdi Amini <mehdi.amini at apple.com> wrote:
>
> On Sep 22, 2016, at 8:58 AM, Hans Wennborg <hans at chromium.org> wrote:
>
> On Thu, Sep 22, 2016 at 12:51 AM, Sylvestre Ledru via cfe-dev
> <cfe-dev at lists.llvm.org> wrote:
>
> Le 22/09/2016 à 03:33, Mehdi Amini a écrit :
>
> Hi,
>
> I was wondering the same thing recently and Hans pointed me to
> llvm/utils/release.
>
> It turns out we’re not using LTO :(
> (Neither PGO…)
>
> In the Debian/Ubuntu packages (and this is general to packaging), we are:
> * relying on the build system of the application itself
> * adding some flags like "-g -O2" and the fortify options
> https://wiki.debian.org/Hardening
>
> For the linker, for the LLVM toolchain, it depends if the version of
> binutils in the distro has it or not (at least 2.23.1-1~exp3).
> Here, for the Debian & Ubuntu packages, I am using binutils gold but not
> sure the LTO option is set to the llvm build system?!
>
> However, happy to try that (I think this should be part of the build system,
> at least for LTO).
>
>
> I think that's what the -LLVM_ENABLE_LTO={Full,Thin} option is for,
> but it's not enabled by default.
>
>
> So, what about changing this?

I don't know how practical it would be at the moment. Would most build
environments support it? It seems to assume Clang is being built by
Clang, and that the gold plugin (which I think requires the binutils
headers to build) is around.

+Ivan who knows everything about building things with LTO.


More information about the cfe-dev mailing list