[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 --- Comment #12 from Ramana Radhakrishnan --- (In reply to Steve Ellcey from comment #11) > FYI: This caused a regression on aarch64. > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84923 I have marked 84923 as an 8 regression as it wasn't done earlier and probably slipped in the cracks. The regression was noticed and a patch was posted but it appears that this wasn't reviewed. Ramana
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Steve Ellcey changed: What|Removed |Added CC||sje at gcc dot gnu.org --- Comment #11 from Steve Ellcey --- FYI: This caused a regression on aarch64. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84923
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Ramana Radhakrishnan changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED Target Milestone|7.4 |8.0 --- Comment #10 from Ramana Radhakrishnan --- Fixed for gcc-8
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 --- Comment #9 from Richard Biener --- Author: rguenth Date: Thu Mar 15 08:55:04 2018 New Revision: 258553 URL: https://gcc.gnu.org/viewcvs?rev=258553=gcc=rev Log: 2018-03-15 Vladimir MezentsevPR target/68256 * varasm.c (hash_section): Return an unchangeble hash value * config/aarch64/aarch64.c (aarch64_use_blocks_for_constant_p): Return !aarch64_can_use_per_function_literal_pools_p (). Modified: trunk/gcc/ChangeLog trunk/gcc/config/aarch64/aarch64.c trunk/gcc/varasm.c
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Richard Biener changed: What|Removed |Added Target Milestone|7.3 |7.4 --- Comment #8 from Richard Biener --- GCC 7.3 is being released, adjusting target milestone.
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Wilco changed: What|Removed |Added CC||wilco at gcc dot gnu.org --- Comment #7 from Wilco --- (In reply to Vladimir Mezentsev from comment #6) > I restored fixes in gcc/config/aarch64/aarch64.c: > % git diff > diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c > index 1c14008..b377bc7 100644 > --- a/gcc/config/aarch64/aarch64.c > +++ b/gcc/config/aarch64/aarch64.c > @@ -6193,11 +6193,9 @@ aarch64_can_use_per_function_literal_pools_p (void) > static bool > aarch64_use_blocks_for_constant_p (machine_mode, const_rtx) > { > - /* Fixme:: In an ideal world this would work similar > - to the logic in aarch64_select_rtx_section but this > - breaks bootstrap in gcc go. For now we workaround > - this by returning false here. */ > - return false; > + /* We can't use blocks for constants when we're using a per-function > + constant pool. */ > + return !aarch64_can_use_per_function_literal_pools_p (); > } > > /* Select appropriate section for constants depending > > > I cannot reproduce the problem. > I use the gcc116.fsffrance.org machine: > % uname -a > Linux gcc116 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:45:34 UTC 2016 > aarch64 aarch64 aarch64 GNU/Linux > > I run > % ../gcc/configure --enable-languages=c,c++,go --enable-bootstrap > --enable-multilib > % make -j8 bootstrap > > There is no bootstrap comparison failure. That looks fine. However either the underlying problem is fixed or has gone latent, so it would be useful to try reproducing it on an older GCC so we can be sure the actual problem is fixed.
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Vladimir Mezentsev changed: What|Removed |Added CC||vladimir.mezentsev at oracle dot c ||om --- Comment #6 from Vladimir Mezentsev --- I restored fixes in gcc/config/aarch64/aarch64.c: % git diff diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 1c14008..b377bc7 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -6193,11 +6193,9 @@ aarch64_can_use_per_function_literal_pools_p (void) static bool aarch64_use_blocks_for_constant_p (machine_mode, const_rtx) { - /* Fixme:: In an ideal world this would work similar - to the logic in aarch64_select_rtx_section but this - breaks bootstrap in gcc go. For now we workaround - this by returning false here. */ - return false; + /* We can't use blocks for constants when we're using a per-function + constant pool. */ + return !aarch64_can_use_per_function_literal_pools_p (); } /* Select appropriate section for constants depending I cannot reproduce the problem. I use the gcc116.fsffrance.org machine: % uname -a Linux gcc116 3.13.0-92-generic #139-Ubuntu SMP Tue Jun 28 20:45:34 UTC 2016 aarch64 aarch64 aarch64 GNU/Linux I run % ../gcc/configure --enable-languages=c,c++,go --enable-bootstrap --enable-multilib % make -j8 bootstrap There is no bootstrap comparison failure.
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Richard Biener changed: What|Removed |Added Target Milestone|7.2 |7.3
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Richard Biener changed: What|Removed |Added Target Milestone|7.2 |7.3 --- Comment #6 from Richard Biener --- GCC 7.2 is being released, adjusting target milestone.
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Jakub Jelinek changed: What|Removed |Added Target Milestone|7.0 |7.2 --- Comment #5 from Jakub Jelinek --- GCC 7.1 has been released.
[Bug target/68256] Defining TARGET_USE_CONSTANT_BLOCKS_P causes go bootstrap failure on aarch64.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68256 Ramana Radhakrishnan changed: What|Removed |Added Target Milestone|6.0 |7.0 Summary|[6 regression] switching|Defining |constant pools to rodata|TARGET_USE_CONSTANT_BLOCKS_ |sections causes go |P causes go bootstrap |bootstrap failure. |failure on aarch64. --- Comment #4 from Ramana Radhakrishnan --- The issue of the bootstrap failure with the change in aarch64_use_constant_blocks_p remains but this is no longer a 6 regression. That can now get pushed out to 7.0 as I would neither have the time nor do I feel comfortable about getting that fixed for 6.0.