diff options
author | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-16 14:06:06 +0000 |
---|---|---|
committer | qsr@chromium.org <qsr@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2013-05-16 14:06:06 +0000 |
commit | 3a59d0586b474c2bd1cb571d2f17e9013aadc0b6 (patch) | |
tree | c7960e716198193b860cf09fbbdcd3670507d85d | |
parent | Compile issue when using global string "::string". For more details take a l... (diff) | |
download | breakpad-3a59d0586b474c2bd1cb571d2f17e9013aadc0b6.tar.xz |
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
-rw-r--r-- | src/common/mac/dump_syms.mm | 14 |
1 files 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); } } |