diff options
| author | Steve Sakoman <steve@sakoman.com> | 2021-10-05 13:39:20 -1000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-10-23 23:14:17 +0100 |
| commit | e2c46b23d325551221baf587c2f8979dffc06a49 (patch) | |
| tree | 73fe01dc5d55276849425a6b206384e734d3f628 | |
| parent | b6869250d302de2cdad20e6ec100c2aa7762ef6a (diff) | |
| download | poky-e2c46b23d325551221baf587c2f8979dffc06a49.tar.gz | |
gcc: fix missing dependencies for selftests
Building GCC with multiple make jobs appears to trigger a race condition. The build fails with:
/bin/bash: TOPDIR/tmp/work/x86_64-linux/gcc-cross-i686/9.3.0-r0/gcc-9.3.0/build.x86_64-linux.i686-poky-linux/./gcc/xgcc: No such file or directory
(From OE-Core rev: 5690d18bb6a9a61a81ccd0bc28d1ace4181d1921)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-9.3.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-9.3/0040-fix-missing-dependencies-for-selftests.patch | 45 |
2 files changed, 46 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-9.3.inc b/meta/recipes-devtools/gcc/gcc-9.3.inc index 1c8e3df51d..235576e627 100644 --- a/meta/recipes-devtools/gcc/gcc-9.3.inc +++ b/meta/recipes-devtools/gcc/gcc-9.3.inc | |||
| @@ -69,6 +69,7 @@ SRC_URI = "\ | |||
| 69 | file://0037-CVE-2019-14250-Check-zero-value-in-simple_object_elf.patch \ | 69 | file://0037-CVE-2019-14250-Check-zero-value-in-simple_object_elf.patch \ |
| 70 | file://0038-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ | 70 | file://0038-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \ |
| 71 | file://0039-process_alt_operands-Don-t-match-user-defined-regs-o.patch \ | 71 | file://0039-process_alt_operands-Don-t-match-user-defined-regs-o.patch \ |
| 72 | file://0040-fix-missing-dependencies-for-selftests.patch \ | ||
| 72 | file://0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch \ | 73 | file://0001-aarch64-New-Straight-Line-Speculation-SLS-mitigation.patch \ |
| 73 | file://0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch \ | 74 | file://0002-aarch64-Introduce-SLS-mitigation-for-RET-and-BR-inst.patch \ |
| 74 | file://0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch \ | 75 | file://0003-aarch64-Mitigate-SLS-for-BLR-instruction.patch \ |
diff --git a/meta/recipes-devtools/gcc/gcc-9.3/0040-fix-missing-dependencies-for-selftests.patch b/meta/recipes-devtools/gcc/gcc-9.3/0040-fix-missing-dependencies-for-selftests.patch new file mode 100644 index 0000000000..c8960c6098 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-9.3/0040-fix-missing-dependencies-for-selftests.patch | |||
| @@ -0,0 +1,45 @@ | |||
| 1 | From b19d8aac15649f31a7588b2634411a1922906ea8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Romain Naour <romain.naour@gmail.com> | ||
| 3 | Date: Wed, 3 Jun 2020 12:30:57 -0600 | ||
| 4 | Subject: [PATCH] Fix missing dependencies for selftests which occasionally | ||
| 5 | causes failed builds. | ||
| 6 | |||
| 7 | gcc/ | ||
| 8 | |||
| 9 | * Makefile.in (SELFTEST_DEPS): Move before including language makefile | ||
| 10 | fragments. | ||
| 11 | |||
| 12 | Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=b19d8aac15649f31a7588b2634411a1922906ea8] | ||
| 13 | Signed-off-by:Steve Sakoman <steve@sakoman.com> | ||
| 14 | |||
| 15 | --- | ||
| 16 | gcc/Makefile.in | 6 ++++-- | ||
| 17 | 1 file changed, 4 insertions(+), 2 deletions(-) | ||
| 18 | |||
| 19 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | ||
| 20 | index aab1dbba57b..be11311b60d 100644 | ||
| 21 | --- a/gcc/Makefile.in | ||
| 22 | +++ b/gcc/Makefile.in | ||
| 23 | @@ -1735,6 +1735,10 @@ $(FULL_DRIVER_NAME): ./xgcc$(exeext) | ||
| 24 | $(LN_S) $< $@ | ||
| 25 | |||
| 26 | # | ||
| 27 | +# SELFTEST_DEPS need to be set before including language makefile fragments. | ||
| 28 | +# Otherwise $(SELFTEST_DEPS) is empty when used from <LANG>/Make-lang.in. | ||
| 29 | +SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests | ||
| 30 | + | ||
| 31 | # Language makefile fragments. | ||
| 32 | |||
| 33 | # The following targets define the interface between us and the languages. | ||
| 34 | @@ -2010,8 +2014,6 @@ DEVNULL=$(if $(findstring mingw,$(build)),nul,/dev/null) | ||
| 35 | SELFTEST_FLAGS = -nostdinc $(DEVNULL) -S -o $(DEVNULL) \ | ||
| 36 | -fself-test=$(srcdir)/testsuite/selftests | ||
| 37 | |||
| 38 | -SELFTEST_DEPS = $(GCC_PASSES) stmp-int-hdrs $(srcdir)/testsuite/selftests | ||
| 39 | - | ||
| 40 | # Run the selftests during the build once we have a driver and the frontend, | ||
| 41 | # so that self-test failures are caught as early as possible. | ||
| 42 | # Use "s-selftest-FE" to ensure that we only run the selftests if the | ||
| 43 | -- | ||
| 44 | 2.27.0 | ||
| 45 | |||
