| OLD | NEW |
| 1 # The following variables will likely need to be modified, depending on where | 1 # The following variables will likely need to be modified, depending on where |
| 2 # and how you built LLVM & Clang. They can be overridden in a command-line | 2 # and how you built LLVM & Clang. They can be overridden in a command-line |
| 3 # invocation of make, like: | 3 # invocation of make, like: |
| 4 # | 4 # |
| 5 # make LLVM_SRC_PATH=<path> LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> \ | 5 # make LLVM_SRC_PATH=<path> LIBCXX_INSTALL_PATH=<path> CLANG_PATH=<path> \ |
| 6 # PNACL_BIN_PATH=<path> ... | 6 # PNACL_BIN_PATH=<path> ... |
| 7 # | 7 # |
| 8 | 8 |
| 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This | 9 # LLVM_SRC_PATH is the path to the root of the checked out source code. This |
| 10 # directory should contain the configure script, the include/ and lib/ | 10 # directory should contain the configure script, the include/ and lib/ |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 LD_EXTRA += -fsanitize=memory | 127 LD_EXTRA += -fsanitize=memory |
| 128 endif | 128 endif |
| 129 | 129 |
| 130 ifdef FORCEASM | 130 ifdef FORCEASM |
| 131 FORCEASM_FLAG = --filetype=asm | 131 FORCEASM_FLAG = --filetype=asm |
| 132 # With --filetype=asm and --sandbox, the llvm-mc assembler emits the lock and | 132 # With --filetype=asm and --sandbox, the llvm-mc assembler emits the lock and |
| 133 # 16-bit prefixes in the "wrong" order, causing the validator to reject the | 133 # 16-bit prefixes in the "wrong" order, causing the validator to reject the |
| 134 # resulting nexe. So we just disable those tests for now. | 134 # resulting nexe. So we just disable those tests for now. |
| 135 FORCEASM_XTEST_EXCLUDES = -e x8632,sandbox,test_sync_atomic | 135 FORCEASM_XTEST_EXCLUDES = -e x8632,sandbox,test_sync_atomic |
| 136 FORCEASM_LIT_PARAM = --param=FORCEASM | 136 FORCEASM_LIT_PARAM = --param=FORCEASM |
| 137 # x86 sandboxing lit tests are disabled because llvm-mc uses different |
| 138 # relocations for pushing return addresses onto the stack. |
| 139 # TODO(jpp): fix this. |
| 140 FORCEASM_LIT_TEST_EXCLUDES = --filter='^(?!.*/x86/sandboxing.ll).*' |
| 137 else | 141 else |
| 138 FORCEASM_FLAG = | 142 FORCEASM_FLAG = |
| 139 FORCEASM_XTEST_EXCLUDES = | 143 FORCEASM_XTEST_EXCLUDES = |
| 140 FORCEASM_LIT_PARAM = | 144 FORCEASM_LIT_PARAM = |
| 145 FORCEASM_LIT_TEST_EXCLUDES = |
| 141 endif | 146 endif |
| 142 | 147 |
| 143 SB_OBJDIR := $(OBJDIR)+Sandboxed | 148 SB_OBJDIR := $(OBJDIR)+Sandboxed |
| 144 | 149 |
| 145 $(info -----------------------------------------------) | 150 $(info -----------------------------------------------) |
| 146 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) | 151 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) |
| 147 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH)) | 152 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH)) |
| 148 $(info Using NACL_ROOT = $(NACL_ROOT)) | 153 $(info Using NACL_ROOT = $(NACL_ROOT)) |
| 149 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT)) | 154 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT)) |
| 150 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) | 155 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) |
| (...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 # Use runtime.is.built so that build-runtime.py is invoked only once | 408 # Use runtime.is.built so that build-runtime.py is invoked only once |
| 404 # even in a parallel build. | 409 # even in a parallel build. |
| 405 .INTERMEDIATE: runtime.is.built | 410 .INTERMEDIATE: runtime.is.built |
| 406 $(RT_OBJ): runtime.is.built | 411 $(RT_OBJ): runtime.is.built |
| 407 runtime.is.built: $(RT_SRC) pydir/build-runtime.py | 412 runtime.is.built: $(RT_SRC) pydir/build-runtime.py |
| 408 @echo ================ Building Subzero runtime ================ | 413 @echo ================ Building Subzero runtime ================ |
| 409 ./pydir/build-runtime.py -v --pnacl-root $(PNACL_TOOLCHAIN_ROOT) | 414 ./pydir/build-runtime.py -v --pnacl-root $(PNACL_TOOLCHAIN_ROOT) |
| 410 | 415 |
| 411 check-lit: $(OBJDIR)/pnacl-sz make_symlink | 416 check-lit: $(OBJDIR)/pnacl-sz make_symlink |
| 412 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ | 417 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ |
| 413 » $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit $(FORCEASM_LIT_PARAM) | 418 » $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit \ |
| 419 $(FORCEASM_LIT_TEST_EXCLUDES) $(FORCEASM_LIT_PARAM) |
| 414 | 420 |
| 415 ifdef MINIMAL | 421 ifdef MINIMAL |
| 416 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime | 422 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime |
| 417 @echo "Crosstests disabled, minimal build" | 423 @echo "Crosstests disabled, minimal build" |
| 418 else | 424 else |
| 419 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime | 425 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime |
| 420 # Do all native/sse2 tests, but only test_vector_ops for native/sse4.1. | 426 # Do all native/sse2 tests, but only test_vector_ops for native/sse4.1. |
| 421 # For (slow) sandboxed tests, limit to Om1/sse4.1. | 427 # For (slow) sandboxed tests, limit to Om1/sse4.1. |
| 422 # TODO(jpp): implement x8664 sandbox, then enable xtests. | |
| 423 # TODO(jpp): reenable the x86-64 tests. | |
| 424 ./pydir/crosstest_generator.py -v --lit \ | 428 ./pydir/crosstest_generator.py -v --lit \ |
| 425 --toolchain-root $(TOOLCHAIN_ROOT) \ | 429 --toolchain-root $(TOOLCHAIN_ROOT) \ |
| 426 $(FORCEASM_FLAG) \ | 430 $(FORCEASM_FLAG) \ |
| 427 $(FORCEASM_XTEST_EXCLUDES) \ | 431 $(FORCEASM_XTEST_EXCLUDES) \ |
| 428 -i x8632,native,sse2 \ | 432 -i x8632,native,sse2 \ |
| 429 -i x8632,native,sse4.1,test_vector_ops \ | 433 -i x8632,native,sse4.1,test_vector_ops \ |
| 430 -i x8632,sandbox,sse4.1,Om1 \ | 434 -i x8632,sandbox,sse4.1,Om1 \ |
| 431 -i x8632,nonsfi,sse2,O2 \ | 435 -i x8632,nonsfi,sse2,O2 \ |
| 432 -i x8664,native,sse2 \ | 436 -i x8664,native,sse2 \ |
| 433 -i x8664,native,sse4.1,test_vector_ops \ | 437 -i x8664,native,sse4.1,test_vector_ops \ |
| 434 -e x8664,sandbox,sse4.1,Om1 \ | 438 -i x8664,sandbox,sse4.1,Om1 \ |
| 435 -i arm32,neon \ | 439 -i arm32,neon \ |
| 436 -e arm32,nonsfi \ | 440 -e arm32,nonsfi \ |
| 437 -e arm32,neon,test_vector_ops \ | 441 -e arm32,neon,test_vector_ops \ |
| 438 -e arm32,neon,test_select | 442 -e arm32,neon,test_select |
| 439 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ | 443 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ |
| 440 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv crosstest/Output | 444 $(LLVM_SRC_PATH)/utils/lit/lit.py -sv crosstest/Output |
| 441 endif | 445 endif |
| 442 | 446 |
| 443 check-unit: $(OBJDIR)/run_unittests | 447 check-unit: $(OBJDIR)/run_unittests |
| 444 $(OBJDIR)/run_unittests | 448 $(OBJDIR)/run_unittests |
| (...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html | 540 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html |
| 537 | 541 |
| 538 docs: | 542 docs: |
| 539 make -C docs -f Makefile.standalone | 543 make -C docs -f Makefile.standalone |
| 540 | 544 |
| 541 clean: | 545 clean: |
| 542 rm -rf pnacl-sz *.o $(OBJDIR) $(SB_OBJDIR) build/pnacl-sz.bloat.json | 546 rm -rf pnacl-sz *.o $(OBJDIR) $(SB_OBJDIR) build/pnacl-sz.bloat.json |
| 543 | 547 |
| 544 clean-all: clean | 548 clean-all: clean |
| 545 rm -rf build/ crosstest/Output/ | 549 rm -rf build/ crosstest/Output/ |
| OLD | NEW |