diff options
author | Sterling Augustine <saugustine@google.com> | 2020-07-27 13:54:54 -0700 |
---|---|---|
committer | Sterling Augustine <saugustine@google.com> | 2020-07-27 21:13:28 +0000 |
commit | 28d7cbdd426311c1b13b648a370212f130d8dff0 (patch) | |
tree | c53ae16a87fbabc29b3ccdf1a3925bdcc79cc35d /src/common | |
parent | Properly handle new tombstone values that now appear as a result of the llvm ... (diff) | |
download | breakpad-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')
-rw-r--r-- | src/common/dwarf_cu_to_module.cc | 5 |
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. // |