aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/recipes-support/tbb/tbb.bb1
-rw-r--r--meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch57
2 files changed, 58 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/tbb/tbb.bb b/meta-oe/recipes-support/tbb/tbb.bb
index bad9481f7d..f870104015 100644
--- a/meta-oe/recipes-support/tbb/tbb.bb
+++ b/meta-oe/recipes-support/tbb/tbb.bb
@@ -13,6 +13,7 @@ PV = "${PRDATE}+${SRCPV}"
SRC_URI = "git://github.com/01org/tbb;branch=${BRANCH} \
file://cross-compile.patch \
file://0001-mallinfo-is-glibc-specific-API-mark-it-so.patch \
+ file://0002-linux-Fix-gcc-version-check.patch \
file://tbb.pc \
"
diff --git a/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch b/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch
new file mode 100644
index 0000000000..9824b61e91
--- /dev/null
+++ b/meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch
@@ -0,0 +1,57 @@
+From aee098f1bf0511c6b5544de3170a9e8b51673b60 Mon Sep 17 00:00:00 2001
+From: Pierre Le Magourou <plemagourou@softbankrobotics.com>
+Date: Tue, 23 Jan 2018 15:25:50 +0100
+Subject: [PATCH] linux.gcc: Fix cross compilation error.
+
+When cross compiling on linux with gcc, the host gcc was used instead of
+the cross gcc to set compilation flags according to gcc version.
+
+When the cross gcc was in version 5.X and the host gcc in version 7.X,
+tbb was compiled with the -flifetime-dse=1 flag that does not exist on
+gcc 5.X.
+---
+ build/linux.gcc.inc | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/build/linux.gcc.inc b/build/linux.gcc.inc
+index 5c1889c..a4d6698 100644
+--- a/build/linux.gcc.inc
++++ b/build/linux.gcc.inc
+@@ -41,29 +41,29 @@ LINK_FLAGS = -Wl,-rpath-link=. -rdynamic
+ C_FLAGS = $(CPLUS_FLAGS)
+
+ # gcc 4.2 and higher support OpenMP
+-ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
++ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[2-9]|[5-9])"))
+ OPENMP_FLAG = -fopenmp
+ endif
+
+ # gcc 4.8 and later support RTM intrinsics, but require command line switch to enable them
+-ifneq (,$(shell gcc -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
++ifneq (,$(shell $(CC) -dumpversion | egrep "^(4\.[8-9]|[5-9])"))
+ RTM_KEY = -mrtm
+ endif
+
+ # gcc 4.0 and later have -Wextra that is used by some our customers.
+-ifneq (,$(shell gcc -dumpversion | egrep "^([4-9])"))
++ifneq (,$(shell $(CC) -dumpversion | egrep "^([4-9])"))
+ TEST_WARNING_KEY += -Wextra
+ endif
+
+ # gcc 5.0 and later have -Wsuggest-override option
+ # enable it via a pre-included header in order to limit to C++11 and above
+-ifneq (,$(shell gcc -dumpversion | egrep "^([5-9])"))
++ifneq (,$(shell $(CC) -dumpversion | egrep "^([5-9])"))
+ INCLUDE_TEST_HEADERS = -include $(tbb_root)/src/test/harness_preload.h
+ endif
+
+ # gcc 6.0 and later have -flifetime-dse option that controls
+ # elimination of stores done outside the object lifetime
+-ifneq (,$(shell gcc -dumpversion | egrep "^([6-9])"))
++ifneq (,$(shell $(CC) -dumpversion | egrep "^([6-9])"))
+ # keep pre-contruction stores for zero initialization
+ DSE_KEY = -flifetime-dse=1
+ endif
+--
+2.15.1
+