On Thu, Aug 30, 2018 at 6:42 AM Diego Rondini <diego.rond...@kynetics.com> wrote: > > From: Gregory Vimont <gregory.vim...@softbankrobotics.com> > > 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. >
this is ok for release branches. Although if I were to do it today, I Would have also considered clang, clang -dumversion reports as gcc 4.2.1 and that clearly wrong information when you compare generic features so we end up disabling stuff for clang that otherwise would work fine > Signed-off-by: Gregory Vimont <gregory.vim...@softbankrobotics.com> > Signed-off-by: Khem Raj <raj.k...@gmail.com> > --- > The reason of the backport is to fix a crash, details here: > http://lists.openembedded.org/pipermail/openembedded-devel/2018-August/120116.html > --- > meta-oe/recipes-support/tbb/tbb.bb | 1 + > .../tbb/tbb/0002-linux-Fix-gcc-version-check.patch | 57 > ++++++++++++++++++++++ > 2 files changed, 58 insertions(+) > create mode 100644 > meta-oe/recipes-support/tbb/tbb/0002-linux-Fix-gcc-version-check.patch > > diff --git a/meta-oe/recipes-support/tbb/tbb.bb > b/meta-oe/recipes-support/tbb/tbb.bb > index bad9481..f870104 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 0000000..9824b61 > --- /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 <plemagou...@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 > + > -- > 2.7.4 > -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core