aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Peraza <jperaza@chromium.org>2018-08-16 13:42:04 -0700
committerJoshua Peraza <jperaza@chromium.org>2018-08-17 04:26:39 +0000
commit6ee298a346237f88a938e96c038802b729b51e9d (patch)
treeb36b8d7fbf2e898c217767be7afe5c17c4a4c043
parentFix Windows client_tests GYP build after 88d8114fda3e (diff)
downloadbreakpad-6ee298a346237f88a938e96c038802b729b51e9d.tar.xz
Treat high_pc as an address for DW_FORM_GNU_addr_index
The high_pc is an address and has already been read from .debug_addr before being passed into FuncHandler::ProcessAttributeUnsigned. Bug:870908 Change-Id: I950098e360b5193f26bf767b8fa0a5f9d59e66ce Reviewed-on: https://chromium-review.googlesource.com/1178760 Reviewed-by: Mark Mentovai <mark@chromium.org>
-rw-r--r--src/common/dwarf_cu_to_module.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/common/dwarf_cu_to_module.cc b/src/common/dwarf_cu_to_module.cc
index f5a03b42..527a7046 100644
--- a/src/common/dwarf_cu_to_module.cc
+++ b/src/common/dwarf_cu_to_module.cc
@@ -573,7 +573,8 @@ void DwarfCUToModule::FuncHandler::Finish() {
if (!ranges_) {
// Make high_pc_ an address, if it isn't already.
- if (high_pc_form_ != dwarf2reader::DW_FORM_addr) {
+ if (high_pc_form_ != dwarf2reader::DW_FORM_addr &&
+ high_pc_form_ != dwarf2reader::DW_FORM_GNU_addr_index) {
high_pc_ += low_pc_;
}