The full GSYM patch started with: https://reviews.llvm.org/D53379
This patch adds the ability to encode and decode InlineInfo objects and adds test coverage.
Paths
| Differential D66600
Add encode and decode methods to InlineInfo and document encoding format to the GSYM file format ClosedPublic Authored by clayborg on Aug 22 2019, 9:38 AM.
Details Summary The full GSYM patch started with: https://reviews.llvm.org/D53379 This patch adds the ability to encode and decode InlineInfo objects and adds test coverage.
Diff Detail Event Timelineclayborg retitled this revision from Add encode and decode methods to InlineInfo and document encoding format. to Add encode and decode methods to InlineInfo and document encoding format to the GSYM file format. clayborg added inline comments. Comment Actions
clayborg added inline comments.
Comment Actions Don't clear the inline info when decodeAll returns false so that we can see what was actually decoded. Not sure how great of an error we can return other than "not enough data". I am open to suggestions?
clayborg added inline comments.
Comment Actions
Comment Actions Added error handling to InlineInfo::encode and InlineInfo::decode with full testing. For encoding return an error when we try to encode an invalid InlineInfo and when a child InlineInfo has an address range that isn't contained in the parent's address range. This will help detect clients that use bad debug info data to create GSYM InlineInfo objects ensure that they correctly construct valid InlineInfo hierarchies. Added the ability to check if an address range is contained within an AddressRanges object to support this feature. For decoding detect when data is missing from the steam and report an error with the exact offset with an appropriate error message. Comment Actions Thanks for implementing the error handling! There is one more comment inline.
This revision is now accepted and ready to land.Sep 3 2019, 8:57 AM
clayborg added inline comments.
Comment Actions $ svn commit
clayborg added inline comments.
Revision Contents
Diff 218136 include/llvm/DebugInfo/GSYM/InlineInfo.h
include/llvm/DebugInfo/GSYM/Range.h
lib/DebugInfo/GSYM/InlineInfo.cpp
lib/DebugInfo/GSYM/Range.cpp
unittests/DebugInfo/GSYM/GSYMTest.cpp
|
This returns a bool.. what does that mean?