aboutsummaryrefslogtreecommitdiff
path: root/src/common/linux/dwarf_line_to_module.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/linux/dwarf_line_to_module.cc')
-rw-r--r--src/common/linux/dwarf_line_to_module.cc8
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) {