aboutsummaryrefslogtreecommitdiff
path: root/src/tools/windows/converter_exe/converter.cc
diff options
context:
space:
mode:
authorNelson Billing <nbilling@google.com>2019-06-24 11:52:48 -0700
committerNelson Billing <nbilling@google.com>2019-06-24 18:55:02 +0000
commit6ca3f8bbe56951db922fa3b567d7ec441093f96e (patch)
tree23ba14440e1ef1dfb5022977d171f7c9391110b2 /src/tools/windows/converter_exe/converter.cc
parentFix 'debug_file' in PESourceLineWriter. (diff)
downloadbreakpad-6ca3f8bbe56951db922fa3b567d7ec441093f96e.tar.xz
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 <ivanpe@chromium.org>
Diffstat (limited to 'src/tools/windows/converter_exe/converter.cc')
-rw-r--r--src/tools/windows/converter_exe/converter.cc9
1 files changed, 5 insertions, 4 deletions
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()) {