[LLVMdev] LLD dynamic compilation
Shankar Easwaran
shankare at codeaurora.org
Mon Jun 30 08:16:24 PDT 2014
Hi Renato,
I think you are hitting a bug, the Observer pattern was added a few
weeks back, and may be there is some sort of uninitialized variable ?
On the cyclic dependency there was a recent conversation that was trying
to fix this, but I am not sure where it is.
Thanks
Shankar Easwaran
On 6/30/2014 4:29 AM, Renato Golin wrote:
> Folks,
>
> I'm having a look at LLD and I need some guidance...
>
> I know it's not production ready for x86 and ARM (the idea is to make
> it so). My steps:
>
> I've added it to tools/lld and ran CMake again (on x86_64) on a
> standard release build (static linking). It works, builds but I see
> one unit test error:
>
> Note: Google Test filter = InputGraphTest.Observer
> [==========] Running 1 test from 1 test case.
> [----------] Global test environment set-up.
> [----------] 1 test from InputGraphTest
> [ RUN ] InputGraphTest.Observer
> 0 DriverTests 0x0000000000498f42
> 1 DriverTests 0x0000000000498c24
> 2 libpthread.so.0 0x00007f0ecbf7f4b0
> 3 DriverTests 0x0000000000462f6a
> 4 DriverTests 0x00000000005bc3a4
> 5 DriverTests 0x000000000046bb6f
> 6 DriverTests 0x0000000000478eea
> 7 DriverTests 0x0000000000479f58
> 8 DriverTests 0x000000000047a025
> 9 DriverTests 0x000000000047e5d0
> 10 DriverTests 0x000000000047e882
> 11 DriverTests 0x0000000000411656
> 12 libc.so.6 0x00007f0ecb1a3000 __libc_start_main + 240
> 13 DriverTests 0x00000000004169a7
>
> When trying to investigate, I then ran CMake on my debug build (that
> has dynamic linking to avoid re-linking of huge libraries during
> development cycle), and I got this:
>
> CMake Error: The inter-target dependency graph contains the following
> strongly connected component (cycle):
> "lldPasses" of type SHARED_LIBRARY
> depends on "lldNative" (weak)
> depends on "lldYAML" (weak)
> "lldNative" of type SHARED_LIBRARY
> depends on "lldYAML" (weak)
> depends on "lldPasses" (weak)
> "lldYAML" of type SHARED_LIBRARY
> depends on "lldNative" (weak)
> depends on "lldPasses" (weak)
> At least one of these targets is not a STATIC_LIBRARY. Cyclic
> dependencies are allowed only among static libraries.
>
> The error is clear, and the only way (I know) to make it compile
> dynamically is to remove the cyclic dependency.
>
> Question is: Why the cyclic dependency? Is that really necessary, or
> is that no one ever bothered?
>
> cheers,
> --renato
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>
>
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by the Linux Foundation
More information about the llvm-dev
mailing list