summaryrefslogtreecommitdiffstats
path: root/package/gcc/8.1.0/0003-remove-selftests.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/gcc/8.1.0/0003-remove-selftests.patch')
-rw-r--r--package/gcc/8.1.0/0003-remove-selftests.patch149
1 files changed, 149 insertions, 0 deletions
diff --git a/package/gcc/8.1.0/0003-remove-selftests.patch b/package/gcc/8.1.0/0003-remove-selftests.patch
new file mode 100644
index 0000000000..83bd9f26db
--- /dev/null
+++ b/package/gcc/8.1.0/0003-remove-selftests.patch
@@ -0,0 +1,149 @@
+From dd29f38f3271bad3f0209113158c89dd8738a274 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+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 <romain.naour@gmail.com>
+---
+ 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
+
OpenPOWER on IntegriCloud