Breakpad DWARF CFI support: Cleanups requested by Neal

I came across a bunch of comments Neal had made on issue 55011 that I
hadn't addressed.  This patch takes care of them.
A=jimb R=thestig

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@618 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
ted.mielczarek
2010-06-25 16:57:02 +00:00
parent b80b13fd2f
commit 4f456b8c0d
3 changed files with 24 additions and 10 deletions

View File

@@ -52,18 +52,14 @@ CFISection &CFISection::CIEHeader(u_int64_t code_alignment_factor,
in_fde_ = false;
if (dwarf64) {
D32(0xffffffff);
D32(kDwarf64InitialLengthMarker);
D64(entry_length_->length);
entry_length_->start = Here();
// Write the CIE distinguished value. In .debug_frame sections, it's
// ~0; in .eh_frame sections, it's zero.
D64(eh_frame_ ? 0 : ~(u_int64_t)0);
D64(eh_frame_ ? kEHFrame64CIEIdentifier : kDwarf64CIEIdentifier);
} else {
D32(entry_length_->length);
entry_length_->start = Here();
// Write the CIE distinguished value. In .debug_frame sections, it's
// ~0; in .eh_frame sections, it's zero.
D32(eh_frame_ ? 0 : ~(u_int32_t)0);
D32(eh_frame_ ? kEHFrame32CIEIdentifier : kDwarf32CIEIdentifier);
}
D8(version);
AppendCString(augmentation);
@@ -193,4 +189,10 @@ CFISection &CFISection::EncodedPointer(u_int64_t address,
return *this;
};
const u_int32_t CFISection::kDwarf64InitialLengthMarker;
const u_int32_t CFISection::kDwarf32CIEIdentifier;
const u_int64_t CFISection::kDwarf64CIEIdentifier;
const u_int32_t CFISection::kEHFrame32CIEIdentifier;
const u_int64_t CFISection::kEHFrame64CIEIdentifier;
} // namespace google_breakpad