diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2025-11-28 18:12:01 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2025-11-28 18:14:15 +0000 |
| commit | 9978553d0199e7ec0bdd1c44fc7f6c7b0c11e43b (patch) | |
| tree | e426c278e698f5bdf85eced25a08131303315818 | |
| parent | b381d0980221b476cadbef862a8e5973d675fb7a (diff) | |
Remove TableGen objects from libllvm, fixing bad option registrations
In 986e05bc2a18 I 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
In 2e47f35be5dc I 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
| -rw-r--r-- | lib/clang/libllvm/Makefile | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/lib/clang/libllvm/Makefile b/lib/clang/libllvm/Makefile index e634a72b4f90..810eac08d8d5 100644 --- a/lib/clang/libllvm/Makefile +++ b/lib/clang/libllvm/Makefile @@ -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 |
