-
Notifications
You must be signed in to change notification settings - Fork 1
/
split_ranges.py
29 lines (26 loc) · 823 Bytes
/
split_ranges.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
import sys
#input: function_offsets file from elfremove, essentially a list of ranges of
# start+length pairs of functions which were removed
# Library: /lib/bla.so
# 1234 40
# 2312 300
# Splits the ranges into individual files, named by the basename of the
# corresponding library file
INPUT = sys.argv[1]
with open(INPUT, 'r') as infd:
cur_lib = None
cur_file = None
for line in infd:
line = line.strip()
if line.startswith('Library:'):
if cur_file:
cur_file.close()
cur_lib = os.path.basename(line.split(':')[1].strip())
cur_file = open('{}_{}'.format(INPUT, cur_lib), 'w')
elif 'blacklist' in line:
continue
elif not line:
continue
else:
cur_file.write(line + '\n')