Hi, I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. The system linker dumps the following information when I executed "ld -v" @(#)PROGRAM:ld PROJECT:ld64-241.9 configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h armv6m armv7m armv7em LTO support using: LLVM version 3.4.2 which tells me that it is correctly pointing to the LLVM that I have built. However, when I pass any LTO command line arguments like "disable-inling" it complains. I was previously working on Linux and the gold plugin makes it very convenient. However, that plugin only handles ELF assembly and I can't install it on Mac. Any idea what is wrong? -- Rahman -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150110/e4f2618e/attachment.html>
On 10 January 2015 at 17:43, Rahman Lavaee <r.lavaee at gmail.com> wrote:> Hi, > I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. > The system linker dumps the following information when I executed "ld -v" > > @(#)PROGRAM:ld PROJECT:ld64-241.9 > configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h > armv6m armv7m armv7em > LTO support using: LLVM version 3.4.2 > > which tells me that it is correctly pointing to the LLVM that I have built. > However, when I pass any LTO command line arguments like "disable-inling" it > complains. > > I was previously working on Linux and the gold plugin makes it very > convenient. However, that plugin only handles ELF assembly and I can't > install it on Mac.I am not sure if there is a supported way of passing extra llvm options during LTO with ld64. Cheers, Rafael
On Jan 12, 2015, at 2:45 PM, Rafael Espíndola <rafael.espindola at gmail.com> wrote:> On 10 January 2015 at 17:43, Rahman Lavaee <r.lavaee at gmail.com> wrote: >> Hi, >> I'm building LLVM on Mac OS 10.10 and I'm having trouble making LTO work. >> The system linker dumps the following information when I executed "ld -v" >> >> @(#)PROGRAM:ld PROJECT:ld64-241.9 >> configured to support archs: armv6 armv7 armv7s arm64 i386 x86_64 x86_64h >> armv6m armv7m armv7em >> LTO support using: LLVM version 3.4.2 >> >> which tells me that it is correctly pointing to the LLVM that I have built. >> However, when I pass any LTO command line arguments like "disable-inling" it >> complains. >> >> I was previously working on Linux and the gold plugin makes it very >> convenient. However, that plugin only handles ELF assembly and I can't >> install it on Mac. > > > I am not sure if there is a supported way of passing extra llvm > options during LTO with ld64.You can pass options with -mllvm. But you need to get it to the linker, so when invoking the linker through clang it looks like: -Wl,-llvm,-myltoopt That will get it to lto_codegen_debug_options(). But I don’t know what options strings lto_codegen_debug_options() handles. -Nick