diff options
Diffstat (limited to 'src/common/linux/dwarf_line_to_module.cc')
-rw-r--r-- | src/common/linux/dwarf_line_to_module.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/common/linux/dwarf_line_to_module.cc b/src/common/linux/dwarf_line_to_module.cc index bc1cd507..c740fa30 100644 --- a/src/common/linux/dwarf_line_to_module.cc +++ b/src/common/linux/dwarf_line_to_module.cc @@ -102,6 +102,14 @@ void DwarfLineToModule::AddLine(uint64 address, uint64 length, if (address + length < address) length = -address; + // Should we omit this line? (See the comments for omitted_line_end_.) + if (address == 0 || address == omitted_line_end_) { + omitted_line_end_ = address + length; + return; + } else { + omitted_line_end_ = 0; + } + // Find the source file being referred to. Module::File *file = files_[file_num]; if (!file) { |