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

Side by Side Diff: Makefile.standalone

Issue 1531623007: Add option to force filetype=asm for testing (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Code review fixes. Tighter ABI checks. Created 4 years, 11 months 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
« no previous file with comments | « no previous file | pydir/crosstest_generator.py » ('j') | pydir/crosstest_generator.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 LD_EXTRA += -fsanitize=address 120 LD_EXTRA += -fsanitize=address
121 endif 121 endif
122 122
123 ifdef MSAN 123 ifdef MSAN
124 # TODO(ascull): this has an as yet undiagnosed uninitialized memory access 124 # TODO(ascull): this has an as yet undiagnosed uninitialized memory access
125 OBJDIR := $(OBJDIR)+MSan 125 OBJDIR := $(OBJDIR)+MSan
126 CXX_EXTRA += -fsanitize=memory 126 CXX_EXTRA += -fsanitize=memory
127 LD_EXTRA += -fsanitize=memory 127 LD_EXTRA += -fsanitize=memory
128 endif 128 endif
129 129
130 ifdef FORCEASM
131 FORCEASM_FLAG = --filetype=asm
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
134 # resulting nexe. So we just disable those tests for now.
135 FORCEASM_XTEST_EXCLUDES = -e x8632,sandbox,test_sync_atomic
136 FORCEASM_LIT_PARAM = --param=FORCEASM
137 else
138 FORCEASM_FLAG =
139 FORCEASM_XTEST_EXCLUDES =
140 FORCEASM_LIT_PARAM =
141 endif
142
130 SB_OBJDIR := $(OBJDIR)+Sandboxed 143 SB_OBJDIR := $(OBJDIR)+Sandboxed
131 144
132 $(info -----------------------------------------------) 145 $(info -----------------------------------------------)
133 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH)) 146 $(info Using LLVM_SRC_PATH = $(LLVM_SRC_PATH))
134 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH)) 147 $(info Using SB_LLVM_PATH = $(SB_LLVM_PATH))
135 $(info Using NACL_ROOT = $(NACL_ROOT)) 148 $(info Using NACL_ROOT = $(NACL_ROOT))
136 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT)) 149 $(info Using TOOLCHAIN_ROOT = $(TOOLCHAIN_ROOT))
137 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT)) 150 $(info Using PNACL_TOOLCHAIN_ROOT = $(PNACL_TOOLCHAIN_ROOT))
138 $(info Using PNACL_BIN_PATH = $(PNACL_BIN_PATH)) 151 $(info Using PNACL_BIN_PATH = $(PNACL_BIN_PATH))
139 $(info Using CLANG_PATH = $(CLANG_PATH)) 152 $(info Using CLANG_PATH = $(CLANG_PATH))
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after
385 # Use runtime.is.built so that build-runtime.py is invoked only once 398 # Use runtime.is.built so that build-runtime.py is invoked only once
386 # even in a parallel build. 399 # even in a parallel build.
387 .INTERMEDIATE: runtime.is.built 400 .INTERMEDIATE: runtime.is.built
388 $(RT_OBJ): runtime.is.built 401 $(RT_OBJ): runtime.is.built
389 runtime.is.built: $(RT_SRC) pydir/build-runtime.py 402 runtime.is.built: $(RT_SRC) pydir/build-runtime.py
390 @echo ================ Building Subzero runtime ================ 403 @echo ================ Building Subzero runtime ================
391 ./pydir/build-runtime.py -v --pnacl-root $(PNACL_TOOLCHAIN_ROOT) 404 ./pydir/build-runtime.py -v --pnacl-root $(PNACL_TOOLCHAIN_ROOT)
392 405
393 check-lit: $(OBJDIR)/pnacl-sz make_symlink 406 check-lit: $(OBJDIR)/pnacl-sz make_symlink
394 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \ 407 PNACL_BIN_PATH=$(PNACL_BIN_PATH) \
395 » $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit 408 » $(LLVM_SRC_PATH)/utils/lit/lit.py -sv tests_lit $(FORCEASM_LIT_PARAM)
396 409
397 ifdef MINIMAL 410 ifdef MINIMAL
398 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime 411 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime
399 @echo "Crosstests disabled, minimal build" 412 @echo "Crosstests disabled, minimal build"
400 else 413 else
401 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime 414 check-xtest: $(OBJDIR)/pnacl-sz make_symlink runtime
402 # Do all native/sse2 tests, but only test_vector_ops for native/sse4.1. 415 # Do all native/sse2 tests, but only test_vector_ops for native/sse4.1.
403 # For (slow) sandboxed tests, limit to Om1/sse4.1. 416 # For (slow) sandboxed tests, limit to Om1/sse4.1.
404 # TODO(jpp): implement x8664 sandbox, then enable xtests. 417 # TODO(jpp): implement x8664 sandbox, then enable xtests.
405 # TODO(jpp): reenable the x86-64 tests. 418 # TODO(jpp): reenable the x86-64 tests.
406 ./pydir/crosstest_generator.py -v --lit \ 419 ./pydir/crosstest_generator.py -v --lit \
407 --toolchain-root $(TOOLCHAIN_ROOT) \ 420 --toolchain-root $(TOOLCHAIN_ROOT) \
421 $(FORCEASM_FLAG) \
422 $(FORCEASM_XTEST_EXCLUDES) \
408 -i x8632,native,sse2 \ 423 -i x8632,native,sse2 \
409 -i x8632,native,sse4.1,test_vector_ops \ 424 -i x8632,native,sse4.1,test_vector_ops \
410 -i x8632,sandbox,sse4.1,Om1 \ 425 -i x8632,sandbox,sse4.1,Om1 \
411 -i x8632,nonsfi,sse2,O2 \ 426 -i x8632,nonsfi,sse2,O2 \
412 -i x8664,native,sse2 \ 427 -i x8664,native,sse2 \
413 -i x8664,native,sse4.1,test_vector_ops \ 428 -i x8664,native,sse4.1,test_vector_ops \
414 -e x8664,sandbox,sse4.1,Om1 \ 429 -e x8664,sandbox,sse4.1,Om1 \
415 -i arm32,neon \ 430 -i arm32,neon \
416 -e arm32,nonsfi \ 431 -e arm32,nonsfi \
417 -e arm32,neon,test_vector_ops \ 432 -e arm32,neon,test_vector_ops \
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 +make -f Makefile.standalone format 478 +make -f Makefile.standalone format
464 # Verify MINIMAL build, plus proper usage of REQUIRES in lit tests. 479 # Verify MINIMAL build, plus proper usage of REQUIRES in lit tests.
465 +make -f Makefile.standalone \ 480 +make -f Makefile.standalone \
466 MINIMAL=1 check 481 MINIMAL=1 check
467 # Check that there are no g++ build errors or warnings. 482 # Check that there are no g++ build errors or warnings.
468 +make -f Makefile.standalone \ 483 +make -f Makefile.standalone \
469 GPLUSPLUS=1 compile_only 484 GPLUSPLUS=1 compile_only
470 # Check the x86 assembler unit tests. 485 # Check the x86 assembler unit tests.
471 +make -f Makefile.standalone \ 486 +make -f Makefile.standalone \
472 DEBUG=1 CHECK_X86_ASM=1 check-unit 487 DEBUG=1 CHECK_X86_ASM=1 check-unit
473 # Run spec2k for x86-32. 488 # Run lit tests, cross tests, unit tests, and spec2k/x86-32.
474 +make -f Makefile.standalone \ 489 +make -f Makefile.standalone \
475 check check-spec 490 check check-spec
476 # Build spec2k under -Om1/x86-32, to check for liveness errors. 491 # Build spec2k under -Om1/x86-32, to check for liveness errors.
477 +make -f Makefile.standalone \ 492 +make -f Makefile.standalone \
478 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec 493 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec
479 # Run spec2k for x86-32 without advanced phi lowering. 494 # Run spec2k for x86-32 without advanced phi lowering.
480 +make -f Makefile.standalone \ 495 +make -f Makefile.standalone \
481 SPECFLAGS='--sz=--phi-edge-split=0' check-spec 496 SPECFLAGS='--sz=--phi-edge-split=0' check-spec
497 # Run cross tests and lit tests to validate filetype=asm output.
498 +make -f Makefile.standalone \
499 FORCEASM=1 check-xtest check-lit
482 # Build spec2k for arm32. 500 # Build spec2k for arm32.
483 +make -f Makefile.standalone \ 501 +make -f Makefile.standalone \
484 TARGET=arm32 SPECBUILDONLY=true check-spec 502 TARGET=arm32 SPECBUILDONLY=true check-spec
485 # Build spec2k under -Om1/arm32. 503 # Build spec2k under -Om1/arm32.
486 +make -f Makefile.standalone \ 504 +make -f Makefile.standalone \
487 TARGET=arm32 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec 505 TARGET=arm32 SPECFLAGS='-Om1' SPECBUILDONLY=true check-spec
488 # Run a few spec2k tests for arm32 using qemu. 506 # Run a few spec2k tests for arm32 using qemu.
489 +make -f Makefile.standalone \ 507 +make -f Makefile.standalone \
490 TARGET=arm32 ALLSPEC='176.gcc 181.mcf 254.gap' check-spec 508 TARGET=arm32 ALLSPEC='176.gcc 181.mcf 254.gap' check-spec
491 # Provide validation of user awesomeness! 509 # Provide validation of user awesomeness!
(...skipping 21 matching lines...) Expand all
513 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html 531 @echo See Subzero size breakdown in bloat/pnacl-sz.bloat.html
514 532
515 docs: 533 docs:
516 make -C docs -f Makefile.standalone 534 make -C docs -f Makefile.standalone
517 535
518 clean: 536 clean:
519 rm -rf pnacl-sz *.o $(OBJDIR) $(SB_OBJDIR) build/pnacl-sz.bloat.json 537 rm -rf pnacl-sz *.o $(OBJDIR) $(SB_OBJDIR) build/pnacl-sz.bloat.json
520 538
521 clean-all: clean 539 clean-all: clean
522 rm -rf build/ crosstest/Output/ 540 rm -rf build/ crosstest/Output/
OLDNEW
« no previous file with comments | « no previous file | pydir/crosstest_generator.py » ('j') | pydir/crosstest_generator.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698