Page MenuHomeFreeBSD

Convert libllvm, libclang and liblldb into private shared libraries
ClosedPublic

Authored by dim on Apr 22 2025, 6:49 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Oct 14, 12:22 PM
Unknown Object (File)
Sun, Oct 12, 3:28 AM
Unknown Object (File)
Wed, Oct 1, 7:16 PM
Unknown Object (File)
Sun, Sep 28, 12:10 AM
Unknown Object (File)
Fri, Sep 19, 1:15 AM
Unknown Object (File)
Wed, Sep 17, 4:49 AM
Unknown Object (File)
Sep 15 2025, 9:05 AM
Unknown Object (File)
Sep 15 2025, 4:37 AM
Subscribers

Details

Summary

This allows clang, lld, lldb, and other llvm tools to be linked against
these shared libraries, which makes them smaller and avoids duplication.

Since these are not quite the same as the shared libraries shipped by
the upstream llvm build system, and we do not want to expose the ABI to
external programs such as ports, make them private libraries.

Note that during the cross-tools stage they are still built as static
libraries, so the cross compiler and linker are static binaries, as they
have always been.

This also requires a depend-cleanup.sh kludge, to ensure binaries are
rebuilt against the shared libraries in case of incremental builds.

NOTE: Requires D49966 to be committed first.

MFC after: 2 weeks

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

dim requested review of this revision.Apr 22 2025, 6:49 PM
dim created this revision.

Add workaround for powerpc "relocation R_PPC_GOT16 out of range" errors.

Add OptionalObsoleteFiles.inc entries.

This revision was not accepted when it landed; it landed in state Needs Review.Apr 25 2025, 6:00 PM
This revision was automatically updated to reflect the committed changes.