The byte offsets in the output of 'cmp' start from 1, not from 0 as the
current parser assumes. This caused mismatched bytes to sometimes be
attributed to the wrong section.
Reviewed By: rafauler
Differential Revision: https://reviews.llvm.org/D149046
Extracts byte number from cmp output:
file1 file2 differ: byte X, line Y
'''
- return int(re.search(r'byte (\d+),', cmp_out).groups()[0])
+ # NOTE: cmp counts bytes starting from 1!
+ return int(re.search(r'byte (\d+),', cmp_out).groups()[0]) - 1
def report_real_time(binary, main_err, cmp_err, cfg):
'''