Fix GetMappingFromOffset

Fixed backward calculation of mapping offset.

Added logic to page align the data offset for uncompressed shared
objects. This fixes symbolization.

Bug: 111268230
Test: inspect native heap dump for the Camera app
Change-Id: If1af41e7265f017c1a691008309c8a002d5f588e
This commit is contained in:
Mathieu Chartier
2018-08-03 13:20:14 -07:00
parent fddbb8c61a
commit e3503620cd

View File

@@ -198,8 +198,12 @@ def GetMappingFromOffset(mapping, app_symboldir):
+ len(file_info.comment))
end_offset = data_offset + file_info.file_size
if mapping.offset >= data_offset and mapping.offset < end_offset:
# Round up the data_offset to the nearest page since the .so must be aligned.
so_file_alignment = 4096
data_offset += so_file_alignment - 1;
data_offset -= data_offset % so_file_alignment;
mapping.name = file_info.filename
mapping.offset = data_offset - mapping.offset
mapping.offset -= data_offset
break
return mapping