public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
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 17:18:47 +0100	[thread overview]
Message-ID: <5B4DCBBB-3237-4A9F-ACCA-6669DE6905B8@sandoe.co.uk> (raw)
In-Reply-To: <FCF2C93B-71A7-4AB1-800F-E9D127593DCA@sandoe.co.uk>

(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
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.


  reply	other threads:[~2022-09-28 16:18 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 [this message]
2022-09-28 19:09     ` Iain Sandoe
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=5B4DCBBB-3237-4A9F-ACCA-6669DE6905B8@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).