Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(34)

Side by Side Diff: pnacl/driver/driver_tools.py

Issue 11299012: PNaCl: Add more MIPS support to the toolchain (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: Fix Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pnacl/build.sh ('k') | pnacl/driver/pnacl-as.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # Copyright (c) 2012 The Native Client Authors. All rights reserved. 2 # Copyright (c) 2012 The Native Client Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 # 5 #
6 # IMPORTANT NOTE: If you make local mods to this file, you must run: 6 # IMPORTANT NOTE: If you make local mods to this file, you must run:
7 # % pnacl/build.sh driver 7 # % pnacl/build.sh driver
8 # in order for them to take effect in the scons build. This command 8 # in order for them to take effect in the scons build. This command
9 # updates the copy in the toolchain/ tree. 9 # updates the copy in the toolchain/ tree.
10 # 10 #
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 @SimpleCache 426 @SimpleCache
427 def IsNativeArchive(filename): 427 def IsNativeArchive(filename):
428 return IsArchive(filename) and not IsBitcodeArchive(filename) 428 return IsArchive(filename) and not IsBitcodeArchive(filename)
429 429
430 class ELFHeader(object): 430 class ELFHeader(object):
431 ELF_MAGIC = '\x7fELF' 431 ELF_MAGIC = '\x7fELF'
432 ELF_TYPES = { 1: 'REL', # .o 432 ELF_TYPES = { 1: 'REL', # .o
433 2: 'EXEC', # .exe 433 2: 'EXEC', # .exe
434 3: 'DYN' } # .so 434 3: 'DYN' } # .so
435 ELF_MACHINES = { 3: '386', 435 ELF_MACHINES = { 3: '386',
436 8: 'MIPS',
436 40: 'ARM', 437 40: 'ARM',
437 62: 'X86_64' } 438 62: 'X86_64' }
438 ELF_OSABI = { 0: 'UNIX', 439 ELF_OSABI = { 0: 'UNIX',
439 3: 'LINUX', 440 3: 'LINUX',
440 123: 'NACL' } 441 123: 'NACL' }
441 ELF_ABI_VER = { 0: 'NONE', 442 ELF_ABI_VER = { 0: 'NONE',
442 7: 'NACL' } 443 7: 'NACL' }
443 444
444 def __init__(self, e_type, e_machine, e_osabi, e_abiver): 445 def __init__(self, e_type, e_machine, e_osabi, e_abiver):
445 self.type = self.ELF_TYPES[e_type] 446 self.type = self.ELF_TYPES[e_type]
(...skipping 485 matching lines...) Expand 10 before | Expand all | Expand 10 after
931 '386' : 'X8632', 932 '386' : 'X8632',
932 '686' : 'X8632', 933 '686' : 'X8632',
933 934
934 'amd64' : 'X8664', 935 'amd64' : 'X8664',
935 'x86_64': 'X8664', 936 'x86_64': 'X8664',
936 'x86-64': 'X8664', 937 'x86-64': 'X8664',
937 'x8664' : 'X8664', 938 'x8664' : 'X8664',
938 939
939 'arm' : 'ARM', 940 'arm' : 'ARM',
940 'armv7' : 'ARM', 941 'armv7' : 'ARM',
941 'arm-thumb2' : 'ARM' } 942 'arm-thumb2' : 'ARM',
943
944 'mips32': 'MIPS32',
945 'mips' : 'MIPS32',
946 }
942 if arch not in archfix: 947 if arch not in archfix:
943 Log.Fatal('Unrecognized arch "%s"!', arch) 948 Log.Fatal('Unrecognized arch "%s"!', arch)
944 return archfix[arch] 949 return archfix[arch]
945 950
946 def IsWindowsPython(): 951 def IsWindowsPython():
947 return 'windows' in platform.system().lower() 952 return 'windows' in platform.system().lower()
948 953
949 def SetupCygwinLibs(): 954 def SetupCygwinLibs():
950 bindir = env.getone('DRIVER_BIN') 955 bindir = env.getone('DRIVER_BIN')
951 os.environ['PATH'] += os.pathsep + pathtools.tosys(bindir) 956 os.environ['PATH'] += os.pathsep + pathtools.tosys(bindir)
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 # Last step 1101 # Last step
1097 step_output = self.output 1102 step_output = self.output
1098 else: 1103 else:
1099 # Intermediate step 1104 # Intermediate step
1100 if self.use_names_for_input: 1105 if self.use_names_for_input:
1101 step_output = self.namegen.TempNameForInput(self.input, output_type) 1106 step_output = self.namegen.TempNameForInput(self.input, output_type)
1102 else: 1107 else:
1103 step_output = self.namegen.TempNameForOutput(output_type) 1108 step_output = self.namegen.TempNameForOutput(output_type)
1104 callback(step_input, step_output, **extra) 1109 callback(step_input, step_output, **extra)
1105 step_input = step_output 1110 step_input = step_output
OLDNEW
« no previous file with comments | « pnacl/build.sh ('k') | pnacl/driver/pnacl-as.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698