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 |