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
This commit is contained in:
parent
8695cc0b88
commit
3a59d0586b
1 changed files with 6 additions and 8 deletions
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue