From 97b15e6e3715ebf4a351022d5cc799a400190c86 Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Wed, 16 Sep 2009 18:15:42 +0300 Subject: [PATCH] Clearer generate_break_virtual script modified: generate_break_virtual.py --- scripts/loader/generate_break_virtual.py | 28 ++++++++++++++---------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/scripts/loader/generate_break_virtual.py b/scripts/loader/generate_break_virtual.py index f1c91cb..8429907 100755 --- a/scripts/loader/generate_break_virtual.py +++ b/scripts/loader/generate_break_virtual.py @@ -45,20 +45,26 @@ assembler_symbol_definition = \ def generate_ksym_to_loader(target_path, source_path): symbols = ['break_virtual'] - with open(target_path, 'w') as asmFile: - asmFile.write(ksym_header % (target_path, source_path, __name__)) + with open(target_path, 'w') as asm_file: + asm_file.write(ksym_header % (target_path, source_path, sys.argv[0])) for symbol in symbols: - process = subprocess.Popen('arm-none-eabi-objdump -d ' + source_path + ' | grep "<' + symbol + '>"', shell=True, stdout=subprocess.PIPE) + process = subprocess.Popen('arm-none-eabi-objdump -d ' + \ + source_path + ' | grep "<' + \ + symbol + '>"', shell=True, \ + stdout=subprocess.PIPE) assert process.wait() == 0 address, name = process.stdout.read().split() assert '<' + symbol + '>:' == name - asmFile.write( ''' -.section .text -.align 4 -.global %s -.type %s, function -.equ %s, %s -''' % (symbol, symbol, symbol, address_remove_literal(address))) + asm_file.write(assembler_symbol_definition % \ + (symbol, symbol, symbol, \ + address_remove_literal(address))) if __name__ == "__main__": - generate_ksym_to_loader(join(PROJROOT, 'loader/ksyms.S'), join(BUILDDIR, 'kernel.elf')) + if len(sys.argv) == 1: + generate_ksym_to_loader(join(PROJROOT, 'loader/ksyms.S'), \ + join(BUILDDIR, 'kernel.elf')) + elif len(sys.argv) == 3: + generate_ksym_to_loader(sys.argv[1], sys.argv[1]) + else: + print "Usage: %s " % sys.argv[0] +