| 1234567891011121314151617181920212223242526272829303132333435 | 
							- import os
 
- import sys
 
- import ast
 
- def info(msg):
 
-     print(os.path.basename(sys.argv[0]) + ": " + msg)
 
- def warn(msg):
 
-     print(os.path.basename(sys.argv[0]) + ": " + msg, file=sys.stderr)
 
- def fatal(msg):
 
-     warn(msg)
 
-     exit(1)
 
- def load_map(path):
 
-     fd = open(path, "r")
 
-     # check the header
 
-     if fd.readline() != 'OFFSET\tSIZE\tNAME\tID\tSTRING\n':
 
-         fatal("invalid map file")
 
-     # parse symbols
 
-     syms = []
 
-     for line in fd:
 
-         line = line.rstrip('\n')
 
-         offset, size, name, tr_id, data = line.split('\t', 4)
 
-         data = ast.literal_eval(data)
 
-         tr_id = int(tr_id) if len(tr_id) else None
 
-         syms.append({'offset': int(offset, 16),
 
-                      'size': int(size, 16),
 
-                      'id': tr_id,
 
-                      'name': name,
 
-                      'data': data})
 
-     return syms
 
 
  |