[yocto] [meta-mingw][PATCH] mingw-w64-runtime: Fix build with gcc8

Khem Raj raj.khem at gmail.com
Thu Jun 7 07:17:15 PDT 2018


On Thu, Jun 7, 2018 at 7:00 AM, Burton, Ross <ross.burton at intel.com> wrote:
> I've a nigh-on identical patch in master-next running on the AB already:
>
> http://git.yoctoproject.org/cgit.cgi/meta-mingw/commit/?h=master-next&id=46b1bfd8ef26dd9c778504143d4dea2fbe2ce90f
>
> Don't have the security flags bit though (our mingw builds don't use
> that), can you rebase to master-next and submit that?
>

thanks for doing this. I sent another fix on top as a prize to you.

> Ross
>
>
> On 7 June 2018 at 14:53, Khem Raj <raj.khem at gmail.com> wrote:
>> 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
>>
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list