Page MenuHomeFreeBSD

Convert libllvm, libclang and liblldb into private shared libraries
ClosedPublic

Authored by dim on Tue, Apr 22, 6:49 PM.
Tags
None
Referenced Files
F116319719: D49967.id154291.diff
Mon, May 5, 7:25 AM
F116268909: D49967.id154269.diff
Sun, May 4, 2:27 PM
F116262170: D49967.id154270.diff
Sun, May 4, 12:28 PM
Unknown Object (File)
Fri, Apr 25, 8:06 PM
Unknown Object (File)
Fri, Apr 25, 4:33 AM
Unknown Object (File)
Thu, Apr 24, 11:17 PM
Unknown Object (File)
Thu, Apr 24, 9:36 AM
Unknown Object (File)
Thu, Apr 24, 4:48 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 Passed
Unit
No Test Coverage
Build Status
Buildable 63719
Build 60603: arc lint + arc unit

Event Timeline

dim requested review of this revision.Tue, Apr 22, 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.Fri, Apr 25, 6:00 PM
This revision was automatically updated to reflect the committed changes.