HomePhabricator

[clang][ifs] Clang Interface Stubs ToolChain plumbing.

Description

[clang][ifs] Clang Interface Stubs ToolChain plumbing.

Second Landing Attempt:

This patch enables end to end support for generating ELF interface stubs
directly from clang. Now the following:

clang -emit-interface-stubs -o libfoo.so a.cpp b.cpp c.cpp

will product an ELF binary with visible symbols populated. Visibility attributes
and -fvisibility can be used to control what gets populated.

  • Adding ToolChain support for clang Driver IFS Merge Phase
  • Implementing a default InterfaceStubs Merge clang Tool, used by ToolChain
  • Adds support for the clang Driver to involve llvm-ifs on ifs files.
  • Adds -emit-merged-ifs flag, to tell llvm-ifs to emit a merged ifs text file instead of the final object format (normally ELF)

Differential Revision: https://reviews.llvm.org/D63978

Details

Committed
zer0Oct 8 2019, 8:23 AM
Differential Revision
D63978: Clang Interface Stubs merger plumbing for Driver
Parents
rL374060: [Attributor] Add helper class to compose two structured deduction.
Branches
Unknown
Tags
Unknown