From 13ebe46df2caee1181e877646c3526ec193e07bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Th=C3=A9ophile=20Bastian?= Date: Fri, 11 May 2018 13:09:58 +0200 Subject: [PATCH] Refactor extract_pc This is meant to make it easy to call the pc extractor from some other python code as well, to call it from generate_eh_elf.py --- extract_pc.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/extract_pc.py b/extract_pc.py index f7ea23f..223f581 100755 --- a/extract_pc.py +++ b/extract_pc.py @@ -38,6 +38,18 @@ def generate_pc_list(elf, out_path): out_handle.write(pc_bytes) +def generate_all_pc_list(out_dir, elf_list): + ''' Calls `generate_pc_list` on every object in `elf_list`, saving the + result to `out_dir/[file].pc_list`. ''' + + for obj in elf_list: + basename = os.path.basename(obj) + print('> {}…'.format(basename)) + out_path = os.path.join(out_dir, + basename + '.pc_list') + generate_pc_list(obj, out_path) + + def process_args(): ''' Process `sys.argv` arguments ''' @@ -66,12 +78,7 @@ def main(): for obj in args.object: objs_list += elf_so_deps(obj) - for obj in objs_list: - basename = os.path.basename(obj) - print('> {}…'.format(basename)) - out_path = os.path.join(args.output, - basename + '.pc_list') - generate_pc_list(obj, out_path) + generate_all_pc_list(args.output, objs_list) if __name__ == '__main__':