diff options
Diffstat (limited to 'tools/nativize_llvm.py')
-rwxr-xr-x | tools/nativize_llvm.py | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/nativize_llvm.py b/tools/nativize_llvm.py index 1aaba7ac..d9558c32 100755 --- a/tools/nativize_llvm.py +++ b/tools/nativize_llvm.py @@ -23,9 +23,12 @@ libs = sys.argv[2:] # e.g.: dl for dlopen/dlclose, util for openpty/forkpty print 'bc => clean bc' Popen([LLVM_OPT, filename, '-strip-debug', '-o=' + filename + '.clean.bc']).communicate()[0] print 'bc => s' -Popen([LLVM_COMPILER, filename + '.clean.bc', '-o=' + filename + '.s']).communicate()[0] -print 's => o' -Popen(['as', filename + '.s', '-o', filename + '.o']).communicate()[0] +for params in [[], ['-march=x86-64']]: # try x86, then x86-64 FIXME + print 'params', params + Popen([LLVM_COMPILER] + params + [filename + '.clean.bc', '-o=' + filename + '.s']).communicate()[0] + print 's => o' + Popen(['as', filename + '.s', '-o', filename + '.o']).communicate()[0] + if os.path.exists(filename + '.o'): break print 'o => runnable' -Popen(['g++', filename + '.o', '-o', filename + '.run'] + ['-l' + lib for lib in libs]).communicate()[0] -# path_from_root('system', 'lib', 'debugging.cpp') - add this to try to mix it up +Popen(['g++', path_from_root('system', 'lib', 'debugging.cpp'), filename + '.o', '-o', filename + '.run'] + ['-l' + lib for lib in libs]).communicate()[0] + |