[LLVMdev] LTO support on Mac

Rafael Espíndola rafael.espindola at gmail.com
Mon Jan 19 17:08:56 PST 2015


lld is a relatively new project. You should really try trunk instead of 3.4.

On 18 January 2015 at 12:09, Rahman Lavaee <r.lavaee at gmail.com> wrote:
> Thank you Nick. I think it's worth giving LLD a try.
> I tried building lld (branch 3.4) on top of llvm 3.4 and got the following
> error in the last step when it is linking lld.
>
> [100%] Building CXX object tools/lld/tools/lld/CMakeFiles/lld.dir/lld.cpp.o
> Linking CXX executable ../../../../bin/lld
> ld: library not found for -llldHexagonELFTarget
>
> Can you please help me with that?
>
> On Mon, Jan 12, 2015 at 5:55 PM, Nick Kledzik <kledzik at apple.com> wrote:
>>
>>
>>
>> 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
>
>
>
>
> --
> Rahman




More information about the llvm-dev mailing list