From: Iain Sandoe <iain@sandoe.co.uk>
To: "Kewen.Lin" <linkw@linux.ibm.com>
Cc: GCC Patches <gcc-patches@gcc.gnu.org>,
Segher Boessenkool <segher@kernel.crashing.org>
Subject: Re: [PATCH] rs6000: Rework option -mpowerpc64 handling [PR106680]
Date: Wed, 28 Sep 2022 20:09:01 +0100 [thread overview]
Message-ID: <92415AC8-4A5A-4119-BFCC-D7C66472F961@sandoe.co.uk> (raw)
In-Reply-To: <5B4DCBBB-3237-4A9F-ACCA-6669DE6905B8@sandoe.co.uk>
Hi Kewen
> On 28 Sep 2022, at 17:18, Iain Sandoe <iain@sandoe.co.uk> wrote:
>
> (reduced CC list, if folks want to be re-included .. please add them back).
>
>> On 28 Sep 2022, at 07:37, Iain Sandoe <iain@sandoe.co.uk> wrote:
>
>>> On 28 Sep 2022, at 06:30, Kewen.Lin via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>>
>>> PR106680 shows that -m32 -mpowerpc64 is different from
>>> -mpowerpc64 -m32, this is determined by the way how we
>>> handle option powerpc64 in rs6000_handle_option.
>>>
>>> Segher pointed out this difference should be taken as
>>> a bug and we should ensure that option powerpc64 is
>>> independent of -m32/-m64. So this patch removes the
>>> handlings in rs6000_handle_option and add some necessary
>>> supports in rs6000_option_override_internal instead.
>>>
>>> With this patch, if users specify -m{no-,}powerpc64, the
>>> specified value is honoured, otherwise, for 64bit it
>>> always enables OPTION_MASK_POWERPC64 while for 32bit
>>> it disables OPTION_MASK_POWERPC64 if OS_MISSING_POWERPC64.
>>>
>>> Bootstrapped and regress-tested on:
>>> - powerpc64-linux-gnu P7 and P8 {-m64,-m32}
>>> - powerpc64le-linux-gnu P9 and P10
>>> - powerpc-ibm-aix7.2.0.0 {-maix64,-maix32}
>>>
>>> Hi Iain, could you help to test this on darwin to ensure
>>> it won't break darwin's build and new tests are fine?
>>> Thanks in advance!
>>
>> Will do, it will take a day or so, thanks,
>
> Perhaps a small exposition on the target:
>
> powerpc-apple-darwin, is perhaps somewhat unusual in that it is nominally a 32b kernel, but the OS supports 64b processes on suitable hardware (and the OS does preserve the upper bits of 64b regs in the context).
>
> -----
>
> I bootstrapped (all supported languages) and tested r13-2892 yesterday with “nominal” results.
>
> Then I added this patch .. and did a clean bootstrap (same configuration).
>
> the bootstrap fails on the stage3 libgomp (building the ppc64 multilib) with the error below
> What is somewhat odd here is that libgomp is bootstrapped with the compiler and, apparently,
> openacc-init.c built OK at stage2.
>
> ——
>
> Of course, powerpc-darwin is not a blocker for anything, it should not hold you up (but sometimes it
> manages to find a glitch missed elsewhere). I will try to take a look at this this evening see if I can throw
> any more light on it.
>
> ------
>
> /src-local/gcc-master/libgomp/oacc-init.c:876:1: internal compiler error: ‘global_options’ are modified in local context
> 876 | {
> | ^
> 0xe940d7 cl_optimization_compare(gcc_options*, gcc_options*)
> /scratch/10-5-leo/gcc-master/gcc/options-save.cc:14082
This repeats on a cross from x86_64-darwin to powerpc-darwin .. (makes debug a bit quicker)
this is the failing case - which does not (immediately) seem directly connected .. does it ring
any bells for you?
16649 if (ptr1->x_rs6000_sched_restricted_insns_priority != ptr2->x_rs6000_sched_restricted_insns_priority)
-> 16650 internal_error ("%<global_options%> are modified in local context”);
> 0x15f8fb handle_optimize_attribute
> /src-local/gcc-master/gcc/c-family/c-attribs.cc:5619
> 0x8447 decl_attributes(tree_node**, tree_node*, int, tree_node*)
> /src-local/gcc-master/gcc/attribs.cc:875
> 0x307bb start_function(c_declspecs*, c_declarator*, tree_node*)
> /src-local/gcc-master/gcc/c/c-decl.cc:9537
> 0xb4f27 c_parser_declaration_or_fndef
> /src-local/gcc-master/gcc/c/c-parser.cc:2466
> 0xc164f c_parser_external_declaration
> /src-local/gcc-master/gcc/c/c-parser.cc:1800
> 0xc2323 c_parser_translation_unit
> /src-local/gcc-master/gcc/c/c-parser.cc:1666
> 0xc2323 c_parse_file()
> ???:0
> 0x13a5db c_common_parse_file()
> /src-local/gcc-master/gcc/c-family/c-opts.cc:1255
> Please submit a full bug report, with preprocessed source (by using -freport-bug).
> Please include the complete backtrace with any bug report.
> See <https://gcc.gnu.org/bugs/> for instructions.
>
next prev parent reply other threads:[~2022-09-28 19:09 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-28 5:30 Kewen.Lin
2022-09-28 6:37 ` Iain Sandoe
2022-09-28 16:18 ` Iain Sandoe
2022-09-28 19:09 ` Iain Sandoe [this message]
2022-09-29 5:45 ` Kewen.Lin
2022-09-29 8:16 ` Iain Sandoe
2022-09-29 9:12 ` Kewen.Lin
2022-09-29 16:14 ` Iain Sandoe
2022-09-29 17:04 ` Segher Boessenkool
2022-09-29 18:25 ` Iain Sandoe
2022-09-29 18:37 ` Segher Boessenkool
2022-09-30 9:26 ` Kewen.Lin
2022-09-29 17:11 ` Segher Boessenkool
2022-09-30 12:15 ` Kewen.Lin
2022-10-03 21:15 ` Segher Boessenkool
2022-10-10 2:15 ` Kewen.Lin
2022-10-10 13:58 ` Segher Boessenkool
2022-10-12 8:26 ` Kewen.Lin
2022-09-28 21:30 ` Segher Boessenkool
2022-09-28 23:04 ` Iain Sandoe
2022-09-28 23:16 ` Iain Sandoe
2022-09-29 17:26 ` Segher Boessenkool
2022-09-29 17:18 ` Segher Boessenkool
2022-09-29 18:33 ` Iain Sandoe
2022-09-29 18:50 ` Segher Boessenkool
2022-09-28 22:04 ` Segher Boessenkool
2022-09-29 6:16 ` Kewen.Lin
2022-09-29 18:56 ` Segher Boessenkool
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=92415AC8-4A5A-4119-BFCC-D7C66472F961@sandoe.co.uk \
--to=iain@sandoe.co.uk \
--cc=gcc-patches@gcc.gnu.org \
--cc=linkw@linux.ibm.com \
--cc=segher@kernel.crashing.org \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).