[lld] r226346 - Add LLVM_LINK_COMPONENTS for the shared object build

Rafael Espíndola rafael.espindola at gmail.com
Tue Jan 20 09:55:27 PST 2015


Ah, it is working on ELF, but failing on MachO:

$ ninja lib/liblldCore.dylib
[1/1] Linking CXX shared library lib/liblldCore.dylib
FAILED: : && /Users/espindola/inst/ccache/bin/clang++
-fcolor-diagnostics -fPIC -fvisibility-inlines-hidden -Wall -W
-Wno-unused-parameter -Wwrite-strings -Wcast-qual
-Wmissing-field-initializers -pedantic -Wno-long-long
-Wcovered-switch-default -Wnon-virtual-dtor -std=c++11
-fcolor-diagnostics  -dynamiclib -Wl,-headerpad_max_install_names  -o
lib/liblldCore.dylib -install_name @rpath/liblldCore.dylib
tools/lld/lib/Core/CMakeFiles/lldCore.dir/DefinedAtom.cpp.o
tools/lld/lib/Core/CMakeFiles/lldCore.dir/Error.cpp.o
tools/lld/lib/Core/CMakeFiles/lldCore.dir/File.cpp.o
tools/lld/lib/Core/CMakeFiles/lldCore.dir/LinkingContext.cpp.o
tools/lld/lib/Core/CMakeFiles/lldCore.dir/Resolver.cpp.o
tools/lld/lib/Core/CMakeFiles/lldCore.dir/SymbolTable.cpp.o
lib/libLLVMSupport.dylib -Wl,-rpath, at executable_path/../lib && :
Undefined symbols for architecture x86_64:
  "lld::Registry::Registry()", referenced from:
      lld::LinkingContext::LinkingContext() in LinkingContext.cpp.o

On 20 January 2015 at 12:43, Rafael Espíndola
<rafael.espindola at gmail.com> wrote:
> Strange, it just worked for me with cmake 3.1.20150103.
>
> On 20 January 2015 at 12:37, Greg Fitzgerald <garious at gmail.com> wrote:
>> It won't build yet.  This patch just takes care of the low-hanging
>> fruit.  I hope to submit more patches soon to get the shared-libs
>> build working.  Right now it's looking like I'll need to move a bunch
>> of files around to break all the cyclic dependencies.  CMake docs
>> suggests the existing code should work, but no luck for me.
>>
>> -Greg
>>
>>
>> On Tue, Jan 20, 2015 at 8:33 AM, Rafael Espíndola
>> <rafael.espindola at gmail.com> wrote:
>>> Awesome!
>>>
>>> Takumi, you have a bot that uses -DBUILD_SHARED_LIBS=ON, right? Can
>>> you add lld to it to make sure it keeps building?
>>>
>>> Thanks,
>>> Rafael
>>>
>>>
>>> On 16 January 2015 at 18:34, Greg Fitzgerald <garious at gmail.com> wrote:
>>>> Author: garious
>>>> Date: Fri Jan 16 17:34:41 2015
>>>> New Revision: 226346
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=226346&view=rev
>>>> Log:
>>>> Add LLVM_LINK_COMPONENTS for the shared object build
>>>>
>>>> Differential Revision: http://reviews.llvm.org/D7023
>>>>
>>>> From: Greg Fitzgerald <garious at gmail.com>
>>>>
>>>> Modified:
>>>>     lld/trunk/lib/Config/CMakeLists.txt
>>>>     lld/trunk/lib/Driver/CMakeLists.txt
>>>>     lld/trunk/lib/Passes/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/Native/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt
>>>>     lld/trunk/lib/ReaderWriter/YAML/CMakeLists.txt
>>>>
>>>> Modified: lld/trunk/lib/Config/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Config/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/Config/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/Config/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldConfig
>>>>    Version.cpp
>>>>    )
>>>>
>>>> Modified: lld/trunk/lib/Driver/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Driver/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/Driver/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/Driver/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -10,6 +10,8 @@ set(LLVM_TARGET_DEFINITIONS WinLinkOptio
>>>>  tablegen(LLVM WinLinkOptions.inc -gen-opt-parser-defs)
>>>>  add_public_tablegen_target(DriverOptionsTableGen)
>>>>
>>>> +set(LLVM_LINK_COMPONENTS object option support)
>>>> +
>>>>  add_lld_library(lldDriver
>>>>    CoreDriver.cpp
>>>>    DarwinLdDriver.cpp
>>>>
>>>> Modified: lld/trunk/lib/Passes/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/Passes/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/Passes/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/Passes/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldPasses
>>>>    LayoutPass.cpp
>>>>    RoundTripNativePass.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -4,7 +4,7 @@ add_subdirectory(Native)
>>>>  add_subdirectory(PECOFF)
>>>>  add_subdirectory(YAML)
>>>>
>>>> -set(LLVM_LINK_COMPONENTS object)
>>>> +set(LLVM_LINK_COMPONENTS object support)
>>>>
>>>>  add_lld_library(lldReaderWriter
>>>>    CoreLinkingContext.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/AArch64/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldAArch64ELFTarget
>>>>    AArch64LinkingContext.cpp
>>>>    AArch64TargetHandler.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/Hexagon/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldHexagonELFTarget
>>>>    HexagonLinkingContext.cpp
>>>>    HexagonRelocationHandler.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/Mips/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldMipsELFTarget
>>>>    MipsCtorsOrderPass.cpp
>>>>    MipsELFFlagsMerger.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/PPC/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldPPCELFTarget
>>>>    PPCLinkingContext.cpp
>>>>    PPCTargetHandler.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/X86/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldX86ELFTarget
>>>>    X86LinkingContext.cpp
>>>>    X86TargetHandler.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/ELF/X86_64/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldX86_64ELFTarget
>>>>    X86_64LinkingContext.cpp
>>>>    X86_64TargetHandler.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/MachO/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldMachO
>>>>    ArchHandler.cpp
>>>>    ArchHandler_arm.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/Native/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/Native/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/Native/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/Native/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldNative
>>>>    ReaderNative.cpp
>>>>    WriterNative.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/PECOFF/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS object support)
>>>> +
>>>>  add_lld_library(lldPECOFF
>>>>    EdataPass.cpp
>>>>    IdataPass.cpp
>>>>
>>>> Modified: lld/trunk/lib/ReaderWriter/YAML/CMakeLists.txt
>>>> URL: http://llvm.org/viewvc/llvm-project/lld/trunk/lib/ReaderWriter/YAML/CMakeLists.txt?rev=226346&r1=226345&r2=226346&view=diff
>>>> ==============================================================================
>>>> --- lld/trunk/lib/ReaderWriter/YAML/CMakeLists.txt (original)
>>>> +++ lld/trunk/lib/ReaderWriter/YAML/CMakeLists.txt Fri Jan 16 17:34:41 2015
>>>> @@ -1,3 +1,5 @@
>>>> +set(LLVM_LINK_COMPONENTS support)
>>>> +
>>>>  add_lld_library(lldYAML
>>>>    ReaderWriterYAML.cpp
>>>>    )
>>>>
>>>>
>>>> _______________________________________________
>>>> llvm-commits mailing list
>>>> llvm-commits at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list