OLD | NEW |
(Empty) | |
| 1 #!/usr/bin/python |
| 2 # Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. |
| 5 # |
| 6 # This takes three command-line arguments: |
| 7 # MUNGE-PHDR-PROGRAM file name of program built from |
| 8 # nacl_helper_bootstrap_munge_phdr.c |
| 9 # INFILE raw linked ELF file name |
| 10 # OUTFILE output file name |
| 11 # |
| 12 # We just run the MUNGE-PHDR-PROGRAM on a copy of INFILE. |
| 13 # That modifies the file in place. Then we move it to OUTFILE. |
| 14 # |
| 15 # We only have this wrapper script because nacl_helper_bootstrap_munge_phdr.c |
| 16 # wants to modify a file in place (and it would be a much longer and more |
| 17 # fragile program if it created a fresh ELF output file instead). |
| 18 |
| 19 import shutil |
| 20 import subprocess |
| 21 import sys |
| 22 |
| 23 |
| 24 def Main(argv): |
| 25 if len(argv) != 4: |
| 26 print 'Usage: %s MUNGE-PHDR-PROGRAM INFILE OUTFILE' % argv[0] |
| 27 sys.exit(1) |
| 28 [prog, munger, infile, outfile] = argv |
| 29 tmpfile = outfile + '.tmp' |
| 30 shutil.copy(infile, tmpfile) |
| 31 segment_num = '1' |
| 32 subprocess.check_call([munger, tmpfile, segment_num]) |
| 33 shutil.move(tmpfile, outfile) |
| 34 |
| 35 if __name__ == '__main__': |
| 36 Main(sys.argv) |
OLD | NEW |