91b1fbb766
Remove 0860-cilk-fix-build-without-wchar.patch since cilk has been removed from gcc. Rebase 0900-remove-selftests.patch on gcc 8.1.0 Remove upstream patches 0001-m68k-coldfire-pr68467.patch and 0892-microblaze-Revert.patch. Use bz2 release tarball only for gcc 4.9 since all other version now use xz tarball. Runtime tested on x86_64 with binutils 2.30, gcc 8.1.0, kernel headers 4.14 and glibc 2.27. Buildtime tested with glibc with all supported architectures. Buildtime tested on x86_64 with musl and uClibc-ng Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
150 lines
5.6 KiB
Diff
150 lines
5.6 KiB
Diff
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
|
|
|