diff options
| author | Logan Chien <loganchien@google.com> | 2019-01-16 21:42:57 +0800 |
|---|---|---|
| committer | Logan Chien <loganchien@google.com> | 2019-01-16 21:42:57 +0800 |
| commit | e0ef6ce9e7ecd17b3011c0c048b9bacc605c16c8 (patch) | |
| tree | 2a921dda3d7fd729b3aaa4d3111ce752ac9a93b2 /vndk | |
| parent | e3a587ee82ab21b77b070b63571a134d8136dceb (diff) | |
| download | android_development-e0ef6ce9e7ecd17b3011c0c048b9bacc605c16c8.tar.gz android_development-e0ef6ce9e7ecd17b3011c0c048b9bacc605c16c8.tar.bz2 android_development-e0ef6ce9e7ecd17b3011c0c048b9bacc605c16c8.zip | |
header-abi-linker: Code cleanup
Test: n/a
Change-Id: I207ea35e8afbd83688c3bdf2bbf442ff0cf48d21
Diffstat (limited to 'vndk')
| -rw-r--r-- | vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp b/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp index 3b81b9ac7..d380c2dcf 100644 --- a/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp +++ b/vndk/tools/header-checker/header-abi-linker/src/header_abi_linker.cpp @@ -133,15 +133,18 @@ class HeaderAbiLinker { const std::string &out_dump_name_; const std::string &arch_; const std::string &api_; - // TODO: Add to a map of std::sets instead. + std::set<std::string> exported_headers_; + std::map<std::string, abi_util::ElfFunctionIR> function_decl_map_; std::map<std::string, abi_util::ElfObjectIR> globvar_decl_map_; + // Version Script Regex Matching. - std::set<std::string> functions_regex_matched_set; + std::set<std::string> functions_regex_matched_set_; std::regex functions_vs_regex_; + // Version Script Regex Matching. - std::set<std::string> globvars_regex_matched_set; + std::set<std::string> globvars_regex_matched_set_; std::regex globvars_vs_regex_; }; @@ -323,8 +326,8 @@ bool HeaderAbiLinker::LinkFunctions( auto symbol_filter = [this](const std::string &linker_set_key) { return function_decl_map_.find(linker_set_key) != function_decl_map_.end() || - QueryRegexMatches(&functions_regex_matched_set, &functions_vs_regex_, - linker_set_key); + QueryRegexMatches(&functions_regex_matched_set_, + &functions_vs_regex_, linker_set_key); }; return LinkDecl(ir_dumper, reader->GetFunctions(), symbol_filter); } @@ -336,7 +339,7 @@ bool HeaderAbiLinker::LinkGlobalVars( auto symbol_filter = [this](const std::string &linker_set_key) { return globvar_decl_map_.find(linker_set_key) != globvar_decl_map_.end() || - QueryRegexMatches(&globvars_regex_matched_set, &globvars_vs_regex_, + QueryRegexMatches(&globvars_regex_matched_set_, &globvars_vs_regex_, linker_set_key); }; return LinkDecl(ir_dumper, reader->GetGlobalVariables(), symbol_filter); @@ -429,15 +432,17 @@ static void HideIrrelevantCommandLineOptions() { int main(int argc, const char **argv) { HideIrrelevantCommandLineOptions(); - llvm::cl::ParseCommandLineOptions(argc, argv, "header-linker"); + if (so_file.empty() && version_script.empty()) { llvm::errs() << "One of -so or -v needs to be specified\n"; return -1; } + if (no_filter) { static_cast<std::vector<std::string> &>(exported_header_dirs).clear(); } + HeaderAbiLinker Linker(dump_files, exported_header_dirs, version_script, so_file, linked_dump, arch, api); |
