Remove TableGen objects from libllvm, fixing bad option registrations
In986e05bc2aI revamped the build for all the llvm subprojects. Among others I added objects under contrib/llvm-project/llvm/lib/TableGen, but I missed that upstream explicitly removes these when building the shared llvm library: https://github.com/llvm/llvm-project/blob/llvmorg-19.1.7/llvm/tools/llvm-shlib/CMakeLists.txt#L23 In2e47f35be5I converted libllvm to a shared library. From that point onwards, some of the global command line option objects registered in llvm/lib/TableGen/Main.cpp conflict with similar objects in tools like llvm-cov, llvm-as, etc. This results in an error when running these tools: "CommandLine Error: Option 'o' registered more than once!", followed by a fatal exit. Fix this by removing the TableGen objects from libllvm. Note that we no longer install any of the tblgen binaries, these are only used during buildworld, and then in a statically linked form. PR: 291233 MFC after: 3 days
This commit is contained in:
@@ -1245,16 +1245,6 @@ SRCS_MIN+= Support/regexec.c
|
||||
SRCS_MIN+= Support/regfree.c
|
||||
SRCS_MIN+= Support/regstrlcpy.c
|
||||
SRCS_MIN+= Support/xxhash.cpp
|
||||
SRCS_MIN+= TableGen/DetailedRecordsBackend.cpp
|
||||
SRCS_MIN+= TableGen/Error.cpp
|
||||
SRCS_MIN+= TableGen/JSONBackend.cpp
|
||||
SRCS_MIN+= TableGen/Main.cpp
|
||||
SRCS_MIN+= TableGen/Record.cpp
|
||||
SRCS_MIN+= TableGen/SetTheory.cpp
|
||||
SRCS_MIN+= TableGen/StringMatcher.cpp
|
||||
SRCS_MIN+= TableGen/TGLexer.cpp
|
||||
SRCS_MIN+= TableGen/TGParser.cpp
|
||||
SRCS_MIN+= TableGen/TableGenBackend.cpp
|
||||
.if ${MK_LLVM_TARGET_AARCH64} != "no"
|
||||
SRCS_MIN+= Target/AArch64/AArch64A53Fix835769.cpp
|
||||
SRCS_MIN+= Target/AArch64/AArch64A57FPLoadBalancing.cpp
|
||||
|
||||
Reference in New Issue
Block a user