diff --git a/compiler-rt/lib/hwasan/scripts/hwasan_symbolize b/compiler-rt/lib/hwasan/scripts/hwasan_symbolize index efca6b82809b..19d948d1f0aa 100755 --- a/compiler-rt/lib/hwasan/scripts/hwasan_symbolize +++ b/compiler-rt/lib/hwasan/scripts/hwasan_symbolize @@ -16,6 +16,7 @@ from __future__ import unicode_literals import argparse import glob +import hashlib import html import json import mmap @@ -37,8 +38,9 @@ if sys.version_info.major < 3: Ehdr_size = 64 e_shnum_offset = 60 e_shoff_offset = 40 - +e_shstrndx_offset = 62 Shdr_size = 64 +sh_name_offset = 0 sh_type_offset = 4 sh_offset_offset = 24 sh_size_offset = 32 @@ -62,13 +64,32 @@ def handle_Nhdr(mv, sh_size): offset += Nhdr_size + align_up(n_namesz, 4) + align_up(n_descsz, 4) return None -def handle_Shdr(mv): +def handle_shstrtab(mv, e_shoff): + e_shstrndx, = struct.unpack_from('