| Index: build/android/asan_symbolize.py
|
| diff --git a/build/android/asan_symbolize.py b/build/android/asan_symbolize.py
|
| index 928798f5e524cc9621be3ac8868e4593f608674a..0504aa23aec0d86b793edeeca09c5d48a0a61fbe 100755
|
| --- a/build/android/asan_symbolize.py
|
| +++ b/build/android/asan_symbolize.py
|
| @@ -20,16 +20,17 @@ sys.path.insert(0,
|
| import symbol
|
|
|
|
|
| -_RE_ASAN = re.compile(r'I/asanwrapper\.sh.*?(#\S*?) (\S*?) \((.*?)\+(.*?)\)')
|
| +_RE_ASAN = re.compile(r'(.*?)(#\S*?) (\S*?) \((.*?)\+(.*?)\)')
|
|
|
| def _ParseAsanLogLine(line):
|
| m = re.match(_RE_ASAN, line)
|
| if not m:
|
| return None
|
| return {
|
| - 'library': m.group(3),
|
| - 'pos': m.group(1),
|
| - 'rel_address': '%08x' % int(m.group(4), 16),
|
| + 'prefix': m.group(1),
|
| + 'library': m.group(4),
|
| + 'pos': m.group(2),
|
| + 'rel_address': '%08x' % int(m.group(5), 16),
|
| }
|
|
|
|
|
| @@ -56,7 +57,7 @@ def _Symbolize(input):
|
| asan_libs = _FindASanLibraries()
|
| libraries = collections.defaultdict(list)
|
| asan_lines = []
|
| - for asan_log_line in [a.strip() for a in input]:
|
| + for asan_log_line in [a.rstrip() for a in input]:
|
| m = _ParseAsanLogLine(asan_log_line)
|
| if m:
|
| libraries[m['library']].append(m)
|
| @@ -81,7 +82,7 @@ def _Symbolize(input):
|
| if (m['library'] in all_symbols and
|
| m['rel_address'] in all_symbols[m['library']]['symbols']):
|
| s = all_symbols[m['library']]['symbols'][m['rel_address']][0]
|
| - print s[0], s[1], s[2]
|
| + print '%s%s %s %s' %(m['prefix'], m['pos'], s[0], s[1])
|
| else:
|
| print asan_log_line['raw_log']
|
|
|
|
|