From 3a59d0586b474c2bd1cb571d2f17e9013aadc0b6 Mon Sep 17 00:00:00 2001 From: "qsr@chromium.org" Date: Thu, 16 May 2013 14:06:06 +0000 Subject: [PATCH] Always read CFI section, even when not outputing CFI information. On iOS at least, the CFI section contains information needed to correctly dump the symbols. Even if the CFI section is not dumped, reading it is necessary to get correcty symbolication. R=mark@chromium.org, ted.mielczarek@gmail.com Review URL: https://breakpad.appspot.com/596002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1182 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/common/mac/dump_syms.mm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/common/mac/dump_syms.mm b/src/common/mac/dump_syms.mm index 113a16c0..5c5e13c9 100644 --- a/src/common/mac/dump_syms.mm +++ b/src/common/mac/dump_syms.mm @@ -404,7 +404,7 @@ bool DumpSymbols::LoadCommandDumper::SegmentCommand(const Segment &segment) { if (!reader_.MapSegmentSections(segment, §ion_map)) return false; - if (segment.name == "__TEXT" && symbol_data_ != NO_CFI) { + if (segment.name == "__TEXT") { module_->SetLoadAddress(segment.vmaddr); mach_o::SectionMap::const_iterator eh_frame = section_map.find("__eh_frame"); @@ -422,13 +422,11 @@ bool DumpSymbols::LoadCommandDumper::SegmentCommand(const Segment &segment) { return false; } } - if (symbol_data_ != NO_CFI) { - mach_o::SectionMap::const_iterator debug_frame - = section_map.find("__debug_frame"); - if (debug_frame != section_map.end()) { - // If there is a problem reading this, don't treat it as a fatal error. - dumper_.ReadCFI(module_, reader_, debug_frame->second, false); - } + mach_o::SectionMap::const_iterator debug_frame + = section_map.find("__debug_frame"); + if (debug_frame != section_map.end()) { + // If there is a problem reading this, don't treat it as a fatal error. + dumper_.ReadCFI(module_, reader_, debug_frame->second, false); } }