From 16e08520e6027df4bf1934abbfd5e1a088ffb69c Mon Sep 17 00:00:00 2001 From: Gabriele Svelto Date: Sat, 4 Aug 2018 00:59:34 +0200 Subject: Add support for parsing the DW_AT_ranges attributes This enables the DWARF reader to properly parse DW_AT_ranges attributes in compilation units and functions. Code covered by a function is now represented by a vector of ranges instead of a single contiguous range and DW_AT_ranges entries are used to populate it. All the code and tests that assumed functions to be contiguous entities has been updated to reflect the change. DW_AT_ranges attributes found in compilation units are parsed but no data is generated for them as it is not currently needed. BUG=754 Change-Id: I310391b525aaba0dd329f1e3187486f2e0c6d442 Reviewed-on: https://chromium-review.googlesource.com/1124721 Reviewed-by: Ted Mielczarek --- src/common/dwarf/functioninfo.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/common/dwarf/functioninfo.h') diff --git a/src/common/dwarf/functioninfo.h b/src/common/dwarf/functioninfo.h index 0b08a5fc..9efae6d4 100644 --- a/src/common/dwarf/functioninfo.h +++ b/src/common/dwarf/functioninfo.h @@ -58,6 +58,8 @@ struct FunctionInfo { uint64 lowpc; // End address for this function. uint64 highpc; + // Ranges offset + uint64 ranges; }; struct SourceFileInfo { -- cgit v1.2.1