[yocto] [meta-mingw][PATCH] mingw-w64-runtime: Fix build with gcc8
Khem Raj
raj.khem at gmail.com
Thu Jun 7 06:53:37 PDT 2018
Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
.../mingw-w64/mingw-w64-headers/gcc8.patch | 30 +++++++++++++++++++
.../mingw-w64/mingw-w64-headers_5.0.3.bb | 5 ++--
.../mingw-w64/mingw-w64-runtime_5.0.3.bb | 2 ++
3 files changed, 35 insertions(+), 2 deletions(-)
create mode 100644 recipes-devtools/mingw-w64/mingw-w64-headers/gcc8.patch
diff --git a/recipes-devtools/mingw-w64/mingw-w64-headers/gcc8.patch b/recipes-devtools/mingw-w64/mingw-w64-headers/gcc8.patch
new file mode 100644
index 0000000..2b0eba3
--- /dev/null
+++ b/recipes-devtools/mingw-w64/mingw-w64-headers/gcc8.patch
@@ -0,0 +1,30 @@
+>From revision 248028 in GCC 8 there is defined function _xgetbv:
+https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/i386/xsaveintrin.h?r1=248028&r2=248027&pathrev=248028
+
+It conflicting with mingw-w64 definition from mingw-w64-headers/include/psdk_inc/intrin-impl.h
+
+workaround for mingw-w64:
+
+Signed-off-by: Khem Raj <raj.khem at gmail.com>
+Upstream-Status: Pending [https://sourceforge.net/p/mingw-w64/mailman/message/35866694/]
+
+Index: mingw-w64-headers/include/psdk_inc/intrin-impl.h
+===================================================================
+--- mingw-w64-headers.orig/include/psdk_inc/intrin-impl.h
++++ mingw-w64-headers/include/psdk_inc/intrin-impl.h
+@@ -1406,6 +1406,7 @@ __buildmov(__movsd, unsigned __LONG32, "
+ #endif /* __INTRINSIC_PROLOG */
+
+ /* NOTE: This should be in immintrin.h */
++#if __GNUC__ < 8 /* GCC 8 already has _xgetbv defined */
+ #if __INTRINSIC_PROLOG(_xgetbv)
+ unsigned __int64 _xgetbv(unsigned int);
+ __INTRINSICS_USEINLINE
+@@ -1426,6 +1427,7 @@ unsigned __int64 _xgetbv(unsigned int in
+ }
+ #define __INTRINSIC_DEFINED__xgetbv
+ #endif /* __INTRINSIC_PROLOG */
++#endif /* __GNUC__ < 8 */
+
+ #endif /* defined(__x86_64__) || defined(_AMD64_) || defined(__i386__) || defined(_X86_) */
+
diff --git a/recipes-devtools/mingw-w64/mingw-w64-headers_5.0.3.bb b/recipes-devtools/mingw-w64/mingw-w64-headers_5.0.3.bb
index 31fa66f..58d7552 100644
--- a/recipes-devtools/mingw-w64/mingw-w64-headers_5.0.3.bb
+++ b/recipes-devtools/mingw-w64/mingw-w64-headers_5.0.3.bb
@@ -5,8 +5,9 @@ LIC_FILES_CHKSUM = "file://../COPYING;md5=bb936f0e04d8f1e19ad545100cee9654"
COMPATIBLE_HOST = ".*-mingw.*"
SRC_URI = "${SOURCEFORGE_MIRROR}/project/mingw-w64/mingw-w64/mingw-w64-release/mingw-w64-v${PV}.tar.bz2 \
- file://epsilon.patch"
-
+ file://epsilon.patch \
+ file://gcc8.patch \
+ "
SRC_URI[md5sum] = "5524c20312560cc8683b7d8ee292cb8c"
SRC_URI[sha256sum] = "2a601db99ef579b9be69c775218ad956a24a09d7dabc9ff6c5bd60da9ccc9cb4"
diff --git a/recipes-devtools/mingw-w64/mingw-w64-runtime_5.0.3.bb b/recipes-devtools/mingw-w64/mingw-w64-runtime_5.0.3.bb
index 928a464..0884778 100644
--- a/recipes-devtools/mingw-w64/mingw-w64-runtime_5.0.3.bb
+++ b/recipes-devtools/mingw-w64/mingw-w64-runtime_5.0.3.bb
@@ -43,3 +43,5 @@ do_configure() {
FILES_${PN} += "${exec_prefix}/libsrc"
BBCLASSEXTEND = "nativesdk"
+
+SECURITY_CFLAGS_remove_mingw32 = "-fstack-protector-strong"
--
2.17.1
More information about the yocto
mailing list