From 6ca3f8bbe56951db922fa3b567d7ec441093f96e Mon Sep 17 00:00:00 2001 From: Nelson Billing Date: Mon, 24 Jun 2019 11:52:48 -0700 Subject: Add PE-only MD support to Windows symbol converter. - Only 64-bit PEs supported. - Re-add some scripts that were missed in initial move of code. - Change msdia120.dll dependency to msdia140.dll. - Add tests for Intel, AMD, and NVidia Microsoft Symbol Stores. - Windows symbol converter now attempts to fall back to PE-only metadata when it fails to locate a PDB. - Remove the 'binary' folder under converter_exe. Need to think more about how a deployment should look and what tool(s) to use in creating one. Change-Id: I52e42cbe5e759874a25114c2483e8b50d73fdf77 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/1670098 Reviewed-by: Ivan Penkov --- src/tools/windows/converter_exe/converter.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/tools/windows/converter_exe/converter.cc') diff --git a/src/tools/windows/converter_exe/converter.cc b/src/tools/windows/converter_exe/converter.cc index 6c30b270..9418ecaa 100644 --- a/src/tools/windows/converter_exe/converter.cc +++ b/src/tools/windows/converter_exe/converter.cc @@ -292,8 +292,7 @@ static bool SafeToMakeExternalRequest(const MissingSymbolInfo &missing_info, // Converter options derived from command line parameters. struct ConverterOptions { ConverterOptions() - : report_fetch_failures(true), - blacklist_regex(nullptr) { + : report_fetch_failures(true) { } ~ConverterOptions() { @@ -704,6 +703,7 @@ int main(int argc, char **argv) { if (argc % 2 != 1) { return usage(argv[0]); } + string blacklist_regex_str; bool have_any_msss_servers = false; for (int argi = 1; argi < argc; argi += 2) { @@ -781,8 +781,9 @@ int main(int argc, char **argv) { FprintfFlush(stderr, "No upload symbols URL specified.\n"); return usage(argv[0]); } - if (options.missing_symbols_url.empty()) { - FprintfFlush(stderr, "No missing symbols URL specified.\n"); + if (options.missing_symbols_url.empty() && + options.missing_symbols_file.empty()) { + FprintfFlush(stderr, "No missing symbols URL or file specified.\n"); return usage(argv[0]); } if (options.fetch_symbol_failure_url.empty()) { -- cgit v1.2.1