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

Mehdi Amini via cfe-dev cfe-dev at lists.llvm.org
Thu Sep 22 09:26:26 PDT 2016


> On Sep 22, 2016, at 9:19 AM, Hans Wennborg <hans at chromium.org> wrote:
> 
> On Thu, Sep 22, 2016 at 9:09 AM, Mehdi Amini <mehdi.amini at apple.com <mailto: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.

Aren’t you doing a 2-stage build? In which case the stage-2 always has clang available.
It requires Gold on linux probably, but on OSX the system linker supports LTO.

At minima the OSX build could have it enabled without risk of failure.

— 
Mehdi


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160922/6c3f76e1/attachment.html>


More information about the cfe-dev mailing list