Changeset a35b458 in mainline for kernel/tools/genmap.py
- Timestamp:
- 2018-03-02T20:10:49Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/tools/genmap.py
r3061bc1 ra35b458 47 47 def read_obdump(inp): 48 48 "Parse input" 49 49 50 50 funcs = {} 51 51 data = {} 52 52 bss = {} 53 53 fname = '' 54 54 55 55 for line in inp: 56 56 line = line.strip() … … 59 59 funcs.setdefault(fname, []).append((int(res.group(1), 16), res.group(3))) 60 60 continue 61 61 62 62 res = bssline.match(line) 63 63 if (res): … … 66 66 if (end): 67 67 bss.setdefault(fname, []).append((start, res.group(3))) 68 68 69 69 res = dataline.match(line) 70 70 if (res): … … 73 73 if (end): 74 74 data.setdefault(fname, []).append((start, res.group(3))) 75 75 76 76 res = fileexp.match(line) 77 77 if (res): 78 78 fname = res.group(1) 79 79 continue 80 80 81 81 return {'text' : funcs, 'bss' : bss, 'data' : data} 82 82 83 83 def generate(kmapf, obmapf, out): 84 84 "Generate output file" 85 85 86 86 obdump = read_obdump(obmapf) 87 87 88 88 def key_sorter(x): 89 89 return x[0] 90 90 91 91 for line in kmapf: 92 92 line = line.strip() 93 93 res = startfile.match(line) 94 94 95 95 if ((res) and (res.group(3) in obdump[res.group(1)])): 96 96 offset = int(res.group(2), 16) … … 103 103 data = struct.pack(symtabfmt, addr + offset, value_bytes[:MAXSTRING]) 104 104 out.write(data) 105 105 106 106 out.write(struct.pack(symtabfmt, 0, b'')) 107 107 … … 110 110 print("Usage: %s <kernel.map> <nm dump> <output.bin>" % sys.argv[0]) 111 111 return 1 112 112 113 113 kmapf = open(sys.argv[1], 'r') 114 114 obmapf = open(sys.argv[2], 'r') 115 115 out = open(sys.argv[3], 'wb') 116 116 117 117 generate(kmapf, obmapf, out) 118 118 119 119 kmapf.close() 120 120 obmapf.close()
Note:
See TracChangeset
for help on using the changeset viewer.