aboutsummaryrefslogtreecommitdiff
path: root/src/tools/windows
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/windows')
-rw-r--r--src/tools/windows/binaries/dump_syms.exebin130048 -> 142336 bytes
-rw-r--r--src/tools/windows/binaries/symupload.exebin195072 -> 243712 bytes
-rw-r--r--src/tools/windows/dump_syms/dump_syms.cc17
-rw-r--r--src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym2
4 files changed, 15 insertions, 4 deletions
diff --git a/src/tools/windows/binaries/dump_syms.exe b/src/tools/windows/binaries/dump_syms.exe
index ca4676f5..f27f3ece 100644
--- a/src/tools/windows/binaries/dump_syms.exe
+++ b/src/tools/windows/binaries/dump_syms.exe
Binary files differ
diff --git a/src/tools/windows/binaries/symupload.exe b/src/tools/windows/binaries/symupload.exe
index ba319b26..cdfee745 100644
--- a/src/tools/windows/binaries/symupload.exe
+++ b/src/tools/windows/binaries/symupload.exe
Binary files differ
diff --git a/src/tools/windows/dump_syms/dump_syms.cc b/src/tools/windows/dump_syms/dump_syms.cc
index 3e8827b6..dcbe39ae 100644
--- a/src/tools/windows/dump_syms/dump_syms.cc
+++ b/src/tools/windows/dump_syms/dump_syms.cc
@@ -31,6 +31,7 @@
// a text-based format that we can use from the minidump processor.
#include <stdio.h>
+#include <wchar.h>
#include <string>
@@ -41,12 +42,22 @@ using google_breakpad::PDBSourceLineWriter;
int wmain(int argc, wchar_t **argv) {
if (argc < 2) {
- fprintf(stderr, "Usage: %ws <file.[pdb|exe|dll]>\n", argv[0]);
+ fprintf(stderr,
+ "Usage: %ws [--enable_multiple_field] <file.[pdb|exe|dll]>\n",
+ argv[0]);
return 1;
}
- PDBSourceLineWriter writer;
- if (!writer.Open(wstring(argv[1]), PDBSourceLineWriter::ANY_FILE)) {
+ // This is a temporary option to enable writing the optional 'm' field on FUNC
+ // and PUBLIC, denoting multiple symbols for the address. This option will be
+ // removed, with the behavior enabled by default, after all symbol file
+ // readers have had a chance to update.
+ bool enable_multiple_field =
+ (argc >= 3 && wcscmp(L"--enable_multiple_field", argv[1]) == 0);
+
+ PDBSourceLineWriter writer(enable_multiple_field);
+ if (!writer.Open(wstring(argv[enable_multiple_field ? 2 : 1]),
+ PDBSourceLineWriter::ANY_FILE)) {
fprintf(stderr, "Open failed\n");
return 1;
}
diff --git a/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym b/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym
index a43d3aec..39815245 100644
--- a/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym
+++ b/src/tools/windows/dump_syms/testdata/dump_syms_regtest64.sym
@@ -1262,7 +1262,7 @@ FUNC 3320 18 0 NLG_Notify
332a 5 107 69
332f 7 108 69
3336 a 109 69
-FUNC 3340 1 0 _NLG_Dispatch
+FUNC 3340 1 0 _NLG_Dispatch2
3340 0 113 69
3340 10 114 69
FUNC 3350 1 0 _NLG_Return2