This is an archive of the discontinued LLVM Phabricator instance.

[tools] Support building shared libLLVM and libClang for SerenityOS
AcceptedPublic

Authored by ADKaster on Jul 3 2023, 6:54 PM.

Details

Reviewers
brad
Summary

This patch tells CMake that the --whole-archive linker option should be
used for specifying the archives whose members will constitute these
shared libraries.

Symbol versioning is disabled, as the SerenityOS loader doesn't support
it, and the ELF sections that store version data would just waste space.

Depends on D154400

Diff Detail

Event Timeline

ADKaster created this revision.Jul 3 2023, 6:54 PM
Herald added a project: Restricted Project. · View Herald TranscriptJul 3 2023, 6:54 PM
ADKaster requested review of this revision.Jul 3 2023, 6:54 PM
Herald added projects: Restricted Project, Restricted Project. · View Herald TranscriptJul 3 2023, 6:54 PM
ADKaster updated this revision to Diff 557930.Oct 29 2023, 7:55 PM

prefer CMake platform defined name SERENITYOS over CMAKE_SYSTEM_NAME

brad accepted this revision.Nov 2 2023, 3:14 AM
This revision is now accepted and ready to land.Nov 2 2023, 3:14 AM