OLD | NEW |
---|---|
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 340 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
351 if env.getbool('STATIC') and len(native_objects) == 0: | 351 if env.getbool('STATIC') and len(native_objects) == 0: |
352 passes = [] | 352 passes = [] |
353 if not env.getbool('ALLOW_CXX_EXCEPTIONS'): | 353 if not env.getbool('ALLOW_CXX_EXCEPTIONS'): |
354 # '-lowerinvoke' prevents use of C++ exception handling, which | 354 # '-lowerinvoke' prevents use of C++ exception handling, which |
355 # is not yet supported in the PNaCl ABI. '-simplifycfg' | 355 # is not yet supported in the PNaCl ABI. '-simplifycfg' |
356 # removes landingpad blocks made unreachable by | 356 # removes landingpad blocks made unreachable by |
357 # '-lowerinvoke'. | 357 # '-lowerinvoke'. |
358 passes += ['-lowerinvoke', | 358 passes += ['-lowerinvoke', |
359 '-simplifycfg'] | 359 '-simplifycfg'] |
360 passes += ['-expand-varargs', | 360 passes += ['-expand-varargs', |
361 '-expand-byval', | |
jvoung (off chromium)
2013/04/24 19:59:12
When you did the byval -> reference pass did you a
Mark Seaborn
2013/04/24 20:36:42
No, I didn't. (See https://codereview.chromium.or
jvoung (off chromium)
2013/04/24 21:43:09
Well, I'm okay with leaving it here, and filing an
| |
361 '-nacl-expand-ctors', | 362 '-nacl-expand-ctors', |
362 '-resolve-aliases', | 363 '-resolve-aliases', |
363 '-nacl-expand-tls', | 364 '-nacl-expand-tls', |
364 # Global cleanup needs to run after expand-tls because | 365 # Global cleanup needs to run after expand-tls because |
365 # __tls_template_start etc are extern_weak before expansion | 366 # __tls_template_start etc are extern_weak before expansion |
366 '-nacl-global-cleanup'] | 367 '-nacl-global-cleanup'] |
367 chain.add(DoLLVMPasses(passes), 'expand_features.' + bitcode_type) | 368 chain.add(DoLLVMPasses(passes), 'expand_features.' + bitcode_type) |
368 | 369 |
369 if env.getone('OPT_LEVEL') != '' and env.getone('OPT_LEVEL') != '0': | 370 if env.getone('OPT_LEVEL') != '' and env.getone('OPT_LEVEL') != '0': |
370 chain.add(DoLTO, 'opt.' + bitcode_type) | 371 chain.add(DoLTO, 'opt.' + bitcode_type) |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
533 -O<opt-level> Optimize output file | 534 -O<opt-level> Optimize output file |
534 -M, --print-map Print map file on standard output | 535 -M, --print-map Print map file on standard output |
535 --whole-archive Include all objects from following archives | 536 --whole-archive Include all objects from following archives |
536 --no-whole-archive Turn off --whole-archive | 537 --no-whole-archive Turn off --whole-archive |
537 -s, --strip-all Strip all symbols | 538 -s, --strip-all Strip all symbols |
538 -S, --strip-debug Strip debugging symbols | 539 -S, --strip-debug Strip debugging symbols |
539 --undefined SYMBOL Start with undefined reference to SYMBOL | 540 --undefined SYMBOL Start with undefined reference to SYMBOL |
540 | 541 |
541 -help | -h Output this help. | 542 -help | -h Output this help. |
542 """ | 543 """ |
OLD | NEW |