[PATCH] D66600: Add encode and decode methods to InlineInfo and document encoding format to the GSYM file format

Greg Clayton via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 30 11:27:32 PDT 2019


clayborg updated this revision to Diff 218136.
clayborg added a comment.

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.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66600/new/

https://reviews.llvm.org/D66600

Files:
  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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D66600.218136.patch
Type: text/x-patch
Size: 17014 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190830/3492e01f/attachment.bin>


More information about the llvm-commits mailing list