aboutsummaryrefslogtreecommitdiff
path: root/src/common/dwarf_cu_to_module.cc
diff options
context:
space:
mode:
authorSterling Augustine <saugustine@google.com>2020-07-27 13:54:54 -0700
committerSterling Augustine <saugustine@google.com>2020-07-27 21:13:28 +0000
commit28d7cbdd426311c1b13b648a370212f130d8dff0 (patch)
treec53ae16a87fbabc29b3ccdf1a3925bdcc79cc35d /src/common/dwarf_cu_to_module.cc
parentProperly handle new tombstone values that now appear as a result of the llvm ... (diff)
downloadbreakpad-28d7cbdd426311c1b13b648a370212f130d8dff0.tar.xz
Check for tombstone as very first entry in the line table.
This is a folow up to https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2317730 and handles the additional case where there are no entries in the line table at all. Change-Id: I100c5d0891e7dc7088d58da11240d7df3a6c48d9 Reviewed-on: https://chromium-review.googlesource.com/c/breakpad/breakpad/+/2321300 Reviewed-by: Mark Mentovai <mark@chromium.org>
Diffstat (limited to 'src/common/dwarf_cu_to_module.cc')
-rw-r--r--src/common/dwarf_cu_to_module.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/common/dwarf_cu_to_module.cc b/src/common/dwarf_cu_to_module.cc
index c4eb3c50..a5bc7d6c 100644
--- a/src/common/dwarf_cu_to_module.cc
+++ b/src/common/dwarf_cu_to_module.cc
@@ -1089,6 +1089,11 @@ void DwarfCUToModule::AssignLinesToFunctions() {
return;
}
+ // Some dwarf producers handle linker-removed functions by using -1 as a
+ // tombstone in the line table. So the end marker can be -1.
+ if (current == Module::kMaxAddress)
+ return;
+
while (range || line) {
// This loop has two invariants that hold at the top.
//