public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: "Joshua Watt" <JPEWhacker@gmail.com>
To: Samuli Piippo <samuli.piippo@gmail.com>,
	Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Samuli Piippo <samuli.piippo@qt.io>,
	openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] gcc: make sure mingw builds use mingw32-w64 configs
Date: Mon, 27 Apr 2020 15:20:20 -0500	[thread overview]
Message-ID: <a7b33d1d-49ef-c20d-c8e8-32e9d155ec1b@gmail.com> (raw)
In-Reply-To: <CABXoSoX--qaiLGJM0MJ2Uo=jZDd+Srav+-xaXb60PqtyVOm=Uw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 4374 bytes --]


On 4/27/20 12:35 PM, Samuli Piippo wrote:
> On Mon, 27 Apr 2020 at 17:51, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
>> On Mon, 2020-04-27 at 16:13 +0300, Samuli Piippo wrote:
>>> meta-mingw is using Mingw-w64 but the host triplet does not match
>>> the expected pattern. config/os/mingw32-w64 enables more features
>>> that were not working with mingw32.
>>>
>>> Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
>>> ---
>>>   meta/recipes-devtools/gcc/gcc-9.3.inc         |  1 +
>>>   ...nfig-os-mingw32-w64-for-mingw-builds.patch | 36 +++++++++++++++++++
>>>   2 files changed, 37 insertions(+)
>>>   create mode 100644 meta/recipes-devtools/gcc/gcc-9.3/0040-Always-use-config-os-mingw32-w64-for-mingw-builds.patch
>>>
>>> diff --git a/meta/recipes-devtools/gcc/gcc-9.3.inc b/meta/recipes-devtools/gcc/gcc-9.3.inc
>>> index b0411078d3..4c8275bf2a 100644
>>> --- a/meta/recipes-devtools/gcc/gcc-9.3.inc
>>> +++ b/meta/recipes-devtools/gcc/gcc-9.3.inc
>>> @@ -67,6 +67,7 @@ SRC_URI = "\
>>>              file://0037-CVE-2019-14250-Check-zero-value-in-simple_object_elf.patch \
>>>              file://0038-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
>>>              file://0039-process_alt_operands-Don-t-match-user-defined-regs-o.patch \
>>> +           file://0040-Always-use-config-os-mingw32-w64-for-mingw-builds.patch \
>>>   "
>>>   S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
>>>   SRC_URI[sha256sum] = "71e197867611f6054aa1119b13a0c0abac12834765fe2d81f35ac57f84f742d1"
>>> diff --git a/meta/recipes-devtools/gcc/gcc-9.3/0040-Always-use-config-os-mingw32-w64-for-mingw-builds.patch b/meta/recipes-devtools/gcc/gcc-9.3/0040-Always-use-config-os-mingw32-w64-for-mingw-builds.patch
>>> new file mode 100644
>>> index 0000000000..5a167f252c
>>> --- /dev/null
>>> +++ b/meta/recipes-devtools/gcc/gcc-9.3/0040-Always-use-config-os-mingw32-w64-for-mingw-builds.patch
>>> @@ -0,0 +1,36 @@
>>> +From 052f7e5db0d793155015530b639c4e42d37eb7eb Mon Sep 17 00:00:00 2001
>>> +From: Samuli Piippo <samuli.piippo@qt.io>
>>> +Date: Fri, 23 Aug 2019 10:10:43 +0300
>>> +Subject: [PATCH] Always use config/os/mingw32-w64 for mingw builds
>>> +
>>> +Make sure we use the w64 version of the configs, since that's what
>>> +meta-mingw is using.
>>> +
>>> +Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
>>> +---
>>> + libstdc++-v3/configure.host | 12 ++----------
>>> + 1 file changed, 2 insertions(+), 10 deletions(-)
>>> +
>>> +diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
>>> +index 155a3cdea..adbda8784 100644
>>> +--- a/libstdc++-v3/configure.host
>>> ++++ b/libstdc++-v3/configure.host
>>> +@@ -277,16 +277,8 @@ case "${host_os}" in
>>> +     os_include_dir="os/hpux"
>>> +     ;;
>>> +   mingw32*)
>>> +-    case "$host" in
>>> +-      *-w64-*)
>>> +-        os_include_dir="os/mingw32-w64"
>>> +-        error_constants_dir="os/mingw32-w64"
>>> +-        ;;
>>> +-      *)
>>> +-        os_include_dir="os/mingw32"
>>> +-        error_constants_dir="os/mingw32"
>>> +-        ;;
>>> +-    esac
>>> ++    os_include_dir="os/mingw32-w64"
>>> ++    error_constants_dir="os/mingw32-w64"
>>> +     OPT_LDFLAGS="${OPT_LDFLAGS} \$(lt_host_flags)"
>> It might make things a bit more obvious and upstreamable to just change
>>        *-w64-*)
>> to
>>        *-w64*)
>> if I understand correct?
> With meta-mingw, the host triplet is actually either
> i686-pokysdk-mingw32 or x86_64-pokysdk-mingw32, depending on bitness
> in the SDKMACHINE value.

Hmm, it does indeed look like we are not correctly setting the host in a 
way it can be detected by GCC. It's a little surprising this hasn't 
caused any actual problems (at least up to this point)... is this 
something new to gcc 9.3, and do we have any idea why the AB MinGW tests 
aren't seeing any problems?

Either way, it would probably be better to figure out a way to make the 
host look correct in meta-mingw if at all possible.

Your commit message is also a little confusing because the first few 
times I read it, I thought we were configuring for 64-bit when 32-bit is 
desired, but based on the current GCC code being replaced and the value 
of the host-triplets, it would seem to be the opposite (we are getting 
32-bit when 64-bit is desired).


>
> 

[-- Attachment #2: Type: text/html, Size: 5972 bytes --]

  reply	other threads:[~2020-04-27 20:20 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-27 13:13 [PATCH] gcc: make sure mingw builds use mingw32-w64 configs Samuli Piippo
2020-04-27 14:51 ` [OE-core] " Richard Purdie
2020-04-27 17:35   ` Samuli Piippo
2020-04-27 20:20     ` Joshua Watt [this message]
2020-04-28  4:33       ` Samuli Piippo
2020-04-28 14:44         ` Joshua Watt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a7b33d1d-49ef-c20d-c8e8-32e9d155ec1b@gmail.com \
    --to=jpewhacker@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    --cc=samuli.piippo@gmail.com \
    --cc=samuli.piippo@qt.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox