aboutsummaryrefslogtreecommitdiff
path: root/src/common/windows/pdb_source_line_writer.cc
diff options
context:
space:
mode:
authorMike Wittman <wittman@chromium.org>2017-12-11 13:50:41 -0800
committerMark Mentovai <mark@chromium.org>2017-12-11 22:36:40 +0000
commit897a12cd26ad01a5ef19474f23cfd0fbff4ea5a7 (patch)
treec87ccf9c452bb3a0109ca6cd7ce17a8f91befc60 /src/common/windows/pdb_source_line_writer.cc
parentRemove duplicate import. (diff)
downloadbreakpad-897a12cd26ad01a5ef19474f23cfd0fbff4ea5a7.tar.xz
Write field indicating multiple symbols at an address in dump_syms
Updates dump_syms to write the optional 'm' first field in FUNCTION and PUBLIC records to indicate that the address corresponds to more than one symbol. Bug: google-breakpad:751 Change-Id: I850b0122324ed5f9ec747aa92ba354a3126a7ef9 Reviewed-on: https://chromium-review.googlesource.com/820711 Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/common/windows/pdb_source_line_writer.cc')
-rw-r--r--src/common/windows/pdb_source_line_writer.cc9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/common/windows/pdb_source_line_writer.cc b/src/common/windows/pdb_source_line_writer.cc
index 19c63852..b7788ca0 100644
--- a/src/common/windows/pdb_source_line_writer.cc
+++ b/src/common/windows/pdb_source_line_writer.cc
@@ -219,8 +219,7 @@ bool CreateDiaDataSourceInstance(CComPtr<IDiaDataSource> &data_source) {
} // namespace
-PDBSourceLineWriter::PDBSourceLineWriter(bool enable_multiple_field)
- : enable_multiple_field_(enable_multiple_field), output_(NULL) {
+PDBSourceLineWriter::PDBSourceLineWriter() : output_(NULL) {
}
PDBSourceLineWriter::~PDBSourceLineWriter() {
@@ -373,8 +372,7 @@ bool PDBSourceLineWriter::PrintFunction(IDiaSymbol *function,
MapAddressRange(image_map_, AddressRange(rva, static_cast<DWORD>(length)),
&ranges);
for (size_t i = 0; i < ranges.size(); ++i) {
- const char* optional_multiple_field =
- enable_multiple_field_ && has_multiple_symbols ? "m " : "";
+ const char* optional_multiple_field = has_multiple_symbols ? "m " : "";
fprintf(output_, "FUNC %s%lx %lx %x %ws\n", optional_multiple_field,
ranges[i].rva, ranges[i].length, stack_param_size, name.m_str);
}
@@ -891,8 +889,7 @@ bool PDBSourceLineWriter::PrintCodePublicSymbol(IDiaSymbol *symbol,
AddressRangeVector ranges;
MapAddressRange(image_map_, AddressRange(rva, 1), &ranges);
for (size_t i = 0; i < ranges.size(); ++i) {
- const char* optional_multiple_field =
- enable_multiple_field_ && has_multiple_symbols ? "m " : "";
+ const char* optional_multiple_field = has_multiple_symbols ? "m " : "";
fprintf(output_, "PUBLIC %s%lx %x %ws\n", optional_multiple_field,
ranges[i].rva, stack_param_size > 0 ? stack_param_size : 0,
name.m_str);