Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 02 Jan 2026 20:53:14 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 287447] libllvm, libclang, and liblldb converted into shared libraries - performance degradation
Message-ID:  <bug-287447-227-fWd7F403ee@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-287447-227@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=287447

--- Comment #11 from commit-hook@FreeBSD.org ---
A commit in branch stable/14 references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=908ca4f6af8a95d6c6ae65caed4371f96afb6409

commit 908ca4f6af8a95d6c6ae65caed4371f96afb6409
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2025-06-18 10:06:25 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2026-01-02 20:44:10 +0000

    src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob

    In commit 2e47f35be5dc libllvm, libclang and liblldb were converted into
    private shared libraries. This allowed clang, lld, lldb, and other llvm
    tools to be linked against these shared libraries, which makes them
    smaller and avoids duplication.

    However, this also comes at the cost of some performance, since the
    dynamic libraries are quite large, and contain lots of long symbols
    (mangled C++ identifiers).

    Add a WITH_LLVM_LINK_STATIC_LIBRARIES build knob that can be used to go
    back to the previous behavior: libllvm, libclang and liblldb are built
    as internal static libraries, i.e. only available during buildworld, and
    fully linked into the various executables such as clang, lld, etc.

    PR:             287447
    Reviewed by:    emaste
    MFC after:      1 week
    Differential Revision: https://reviews.freebsd.org/D50956

    (cherry picked from commit 8d5a11cd0137d3ad70f6b06e063ea91a776d510a)

 lib/clang/libclang/Makefile                               |  9 ++++-----
 lib/clang/liblldb/Makefile                                | 14 ++++++++++++--
 lib/clang/libllvm/Makefile                                | 10 ++++------
 share/man/man5/src.conf.5                                 |  9 ++++++++-
 share/mk/src.opts.mk                                      |  1 +
 tools/build/mk/OptionalObsoleteFiles.inc                  | 11 ++++++++---
 tools/build/options/WITH_LLVM_LINK_STATIC_LIBRARIES (new) |  6 ++++++
 usr.bin/clang/Makefile.inc                                |  2 +-
 usr.bin/clang/clang.prog.mk                               |  2 +-
 usr.bin/clang/lld/Makefile                                |  2 +-
 usr.bin/clang/lldb-server/Makefile                        |  5 +++++
 usr.bin/clang/lldb/Makefile                               |  5 +++++
 usr.bin/clang/llvm.prog.mk                                |  5 +++++
 13 files changed, 61 insertions(+), 20 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-287447-227-fWd7F403ee>