From dd29f38f3271bad3f0209113158c89dd8738a274 Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 3 May 2017 00:37:06 +0200 Subject: [PATCH] remove selftests When the gcc archive is extracted by the gcc.mk, the gcc/testsuite is excluded: HOST_GCC_EXCLUDES = \ libjava/* libgo/* \ gcc/testsuite/* libstdc++-v3/testsuite/* The new Makefile target from the "Selftest framework" [1] added a dependency on the gcc/testsuite/Makefile. Revert partially the commit [1] to allow building gcc without selftest. [1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9 [Rebased on gcc 8.1] Signed-off-by: Romain Naour --- gcc/Makefile.in | 83 ++++----------------------------------------------------- 1 file changed, 5 insertions(+), 78 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 20bee0494b1..1ae5fb382b5 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1610,14 +1610,13 @@ OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \ edit-context.o \ pretty-print.o intl.o \ sbitmap.o \ - vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \ - selftest.o selftest-diagnostic.o + vec.o input.o version.o hash-table.o ggc-none.o memory-block.o # Objects in libcommon-target.a, used by drivers and by the core # compiler and containing target-dependent code. OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \ opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \ - hash-table.o file-find.o spellcheck.o selftest.o + hash-table.o file-find.o spellcheck.o # This lists all host objects for the front ends. ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS)) @@ -1894,10 +1893,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc quickstrap: all cd $(toplevel_builddir) && $(MAKE) all-target-libgcc -all.internal: start.encap rest.encap doc selftest +all.internal: start.encap rest.encap doc # This is what to compile if making a cross-compiler. all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \ - libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra + libgcc-support lang.all.cross doc @GENINSRC@ srcextra # This is what must be made before installing GCC and converting libraries. start.encap: native xgcc$(exeext) cpp$(exeext) specs \ libgcc-support lang.start.encap @GENINSRC@ srcextra @@ -1917,78 +1916,6 @@ endif # This does the things that can't be done on the host machine. rest.cross: specs -# GCC's selftests. -# Specify a dummy input file to placate the driver. -# Specify -nostdinc to work around missing WIND_BASE environment variable -# required for *-wrs-vxworks-* targets. -# Specify -o /dev/null so the output of -S is discarded. More importantly -# It does not try to create a file with the name "null.s" on POSIX and -# "nul.s" on Windows. Because on Windows "nul" is a reserved file name. -# Beware that /dev/null is not available to mingw tools, so directly use -# "nul" instead of "/dev/null" if we're building on a mingw machine. -# Specify the path to gcc/testsuite/selftests within the srcdir -# as an argument to -fself-test. -DEVNULL=$(if $(findstring mingw,$(build)),nul,/dev/null) -SELFTEST_FLAGS = -nostdinc $(DEVNULL) -S -o $(DEVNULL) \ - -fself-test=$(srcdir)/testsuite/selftests - -C_SELFTEST_FLAGS = -xc $(SELFTEST_FLAGS) -CPP_SELFTEST_FLAGS = -xc++ $(SELFTEST_FLAGS) - -SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests - -C_SELFTEST_DEPS = cc1$(exeext) $(SELFTEST_DEPS) -CPP_SELFTEST_DEPS = cc1plus$(exeext) $(SELFTEST_DEPS) - -# Run the selftests during the build once we have a driver and the frontend, -# so that self-test failures are caught as early as possible. -# Use "s-selftest-FE" to ensure that we only run the selftests if the -# driver, frontend, or selftest data change. -.PHONY: selftest - -# By default, only run the selftests within the C frontend -selftest: s-selftest-c - -# C selftests -s-selftest-c: $(C_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) - $(STAMP) $@ - -# Convenience methods for running C selftests under gdb: -.PHONY: selftest-c-gdb -selftest-c-gdb: $(C_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) \ - -wrapper gdb,--args - -.PHONY: selftest-gdb -selftest-gdb: selftest-c-gdb - -# Convenience methods for running C selftests under valgrind: -.PHONY: selftest-c-valgrind -selftest-c-valgrind: $(C_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(C_SELFTEST_FLAGS) \ - -wrapper valgrind,--leak-check=full - -.PHONY: selftest-valgrind -selftest-valgrind: selftest-c-valgrind - -# C++ selftests -s-selftest-c++: $(CPP_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) - $(STAMP) $@ - -# Convenience method for running C++ selftests under gdb: -.PHONY: selftest-c++-gdb -selftest-c++-gdb: $(CPP_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \ - -wrapper gdb,--args - -# Convenience method for running C++ selftests under valgrind: -.PHONY: selftest-c++-valgrind -selftest-c++-valgrind: $(CPP_SELFTEST_DEPS) - $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \ - -wrapper valgrind,--leak-check=full - # Recompile all the language-independent object files. # This is used only if the user explicitly asks for it. compilations: $(BACKEND) @@ -2142,7 +2069,7 @@ gcc-nm.c: gcc-ar.c cp $^ $@ COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \ - collect-utils.o file-find.o hash-table.o selftest.o + collect-utils.o file-find.o hash-table.o COLLECT2_LIBS = @COLLECT2_LIBS@ collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS) # Don't try modifying collect2 (aka ld) in place--it might be linking this. -- 2.14.3