HEADS UP: libllvm, libclang, and liblldb converted into shared libraries
- Reply: Yusuf Yaman : "Re: HEADS UP: libllvm, libclang, and liblldb converted into shared libraries"
- Reply: Shawn Webb : "Re: HEADS UP: libllvm, libclang, and liblldb converted into shared libraries"
- Reply: Rozhuk Ivan : "Re: HEADS UP: libllvm, libclang, and liblldb converted into shared libraries"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 26 Apr 2025 16:06:54 UTC
Hi, In https://cgit.freebsd.org/src/commit/?id=2e47f35be5dc I committed a change to convert libllvm, libclang, and liblldb into private shared libraries. This means that tools like clang, lld, lldb, and more are now quite a bit smaller, as all the common functionality is located in those shared libraries. Note that these shared libraries are not the same as upstream's, and are _not_ ABI compatible, which is why they are installed as private shared libraries. If you need ABI compatibility and/or the llvm-config tools, please use one of the devel/llvm ports. This affects the following binaries in the base system (some of them only exist if they're enabled through various WITH_XXX options): - addr2line - ar - bugpoint - c++ - c++filt - cc - clang - clang++ - clang-cpp - clang-format - cpp - gcov - ld.lld - llc - lldb - lldb-server - lli - llvm-addr2line - llvm-ar - llvm-as - llvm-bcanalyzer - llvm-cov - llvm-cxxdump - llvm-cxxfilt - llvm-diff - llvm-dis - llvm-dwarfdump - llvm-dwarfutil - llvm-dwp - llvm-extract - llvm-link - llvm-lto - llvm-lto2 - llvm-mc - llvm-mca - llvm-modextract - llvm-nm - llvm-objcopy - llvm-objdump - llvm-pdbutil - llvm-profdata - llvm-ranlib - llvm-readelf - llvm-readobj - llvm-rtdyld - llvm-size - llvm-strings - llvm-strip - llvm-symbolizer - llvm-xray - nm - objcopy - objdump - opt - ranlib - readelf - size - strings - strip In addition, all these executables are now position independent (PIE). Please let me know if you encounter any problems resulting due to this change, as I intend to MFC it. For example, I tried covering all incremental build scenarios, but I may have missed some corner case. -Dimitry