diff options
author | Puyan Lotfi <puyan@puyan.org> | 2019-08-22 23:29:22 +0000 |
---|---|---|
committer | Puyan Lotfi <puyan@puyan.org> | 2019-08-22 23:29:22 +0000 |
commit | d24184591fb7223fe6fea724be901ee501bf1cc3 (patch) | |
tree | 87ae017316348bb0afa4d4ebd845b001dd922b6b /clang/lib/Driver/ToolChains | |
parent | d6c1c7bfb68bc4158879e64a24115042c814c07a (diff) | |
download | bcm5719-llvm-d24184591fb7223fe6fea724be901ee501bf1cc3.tar.gz bcm5719-llvm-d24184591fb7223fe6fea724be901ee501bf1cc3.zip |
[clang][ifs] New interface stubs format (llvm triple based).
After posting llvm-ifs on phabricator, I made some progress in hardening up how
I think the format for Interface Stubs should look. There are a number of
things I think the TBE format was missing (no endianness, no info about the
Object Format because it assumes ELF), so I have added those and broken off
from being as similar to the TBE schema. In a subsequent commit I can drop the
other formats.
An example of how The format will look is as follows:
--- !experimental-ifs-v1
IfsVersion: 1.0
Triple: x86_64-unknown-linux-gnu
ObjectFileFormat: ELF
Symbols:
_Z9nothiddenv: { Type: Func }
_Z10cmdVisiblev: { Type: Func }
...
The format is still marked experimental.
Differential Revision: https://reviews.llvm.org/D66446
llvm-svn: 369715
Diffstat (limited to 'clang/lib/Driver/ToolChains')
-rw-r--r-- | clang/lib/Driver/ToolChains/Clang.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 690d4fa3fa4..7e420da94f0 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -3638,12 +3638,14 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, : "") .Case("experimental-yaml-elf-v1", "experimental-yaml-elf-v1") .Case("experimental-tapi-elf-v1", "experimental-tapi-elf-v1") + .Case("experimental-ifs-v1", "experimental-ifs-v1") .Default(""); if (StubFormat.empty()) D.Diag(diag::err_drv_invalid_value) << "Must specify a valid interface stub format type using " << "-interface-stub-version=<experimental-tapi-elf-v1 | " + "experimental-ifs-v1 | " "experimental-yaml-elf-v1>"; CmdArgs.push_back("-emit-interface-stubs"); |