m68k: restore bootstrap

Message ID 20240218091911.3077-1-mikpelinux@gmail.com
State Accepted
Headers
Series m68k: restore bootstrap |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Mikael Pettersson Feb. 18, 2024, 9:18 a.m. UTC
  m68k fails to bootstrap since -ffold-mem-offsets was introduced,
in what looks like wrong-code during stage2.

To restore bootstrap this disables -ffold-mem-offsets on m68k.
It's not ideal, but better than keeping bootstraps broken until
the root cause is debugged and fixed.

Tested with a bootstrap and regression test run on m68k-linux-gnu.

Ok for master? (I'll need help getting it committed.)

gcc/
	PR target/113357
	* config/m68k/m68k.cc (m68k_option_override): Disable
	-ffold-mem-offsets.  Fix typo in comment.
---
 gcc/config/m68k/m68k.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
  

Comments

Jeff Law Feb. 18, 2024, 3:42 p.m. UTC | #1
On 2/18/24 02:18, Mikael Pettersson wrote:
> m68k fails to bootstrap since -ffold-mem-offsets was introduced,
> in what looks like wrong-code during stage2.
> 
> To restore bootstrap this disables -ffold-mem-offsets on m68k.
> It's not ideal, but better than keeping bootstraps broken until
> the root cause is debugged and fixed.
> 
> Tested with a bootstrap and regression test run on m68k-linux-gnu.
> 
> Ok for master? (I'll need help getting it committed.)
> 
> gcc/
> 	PR target/113357
> 	* config/m68k/m68k.cc (m68k_option_override): Disable
> 	-ffold-mem-offsets.  Fix typo in comment.
Definitely not OK.    This needs to be debugged further, just disabling 
the pass is not the right solution here.

It is also worth noting I'm bootstrapping and regression testing the 
m68k weekly.

jeff
  
Oleg Endo Feb. 18, 2024, 11:36 p.m. UTC | #2
On Sun, 2024-02-18 at 08:42 -0700, Jeff Law wrote:
> 
> On 2/18/24 02:18, Mikael Pettersson wrote:
> > m68k fails to bootstrap since -ffold-mem-offsets was introduced,
> > in what looks like wrong-code during stage2.
> > 
> > To restore bootstrap this disables -ffold-mem-offsets on m68k.
> > It's not ideal, but better than keeping bootstraps broken until
> > the root cause is debugged and fixed.
> > 
> > Tested with a bootstrap and regression test run on m68k-linux-gnu.
> > 
> > Ok for master? (I'll need help getting it committed.)
> > 
> > gcc/
> > 	PR target/113357
> > 	* config/m68k/m68k.cc (m68k_option_override): Disable
> > 	-ffold-mem-offsets.  Fix typo in comment.
> Definitely not OK.    This needs to be debugged further, just disabling 
> the pass is not the right solution here.
> 
> It is also worth noting I'm bootstrapping and regression testing the 
> m68k weekly.
> 
> 

Jeff, could you please consider sharing your test setup so that others can
reproduce it as well?

I'd be really better if more people had access to a unified test setup and
methodology.

Best regards,
Oleg Endo
  

Patch

diff --git a/gcc/config/m68k/m68k.cc b/gcc/config/m68k/m68k.cc
index b1c9238949f..700f8151286 100644
--- a/gcc/config/m68k/m68k.cc
+++ b/gcc/config/m68k/m68k.cc
@@ -587,7 +587,7 @@  m68k_option_override (void)
 	      : (m68k_cpu_flags & FL_COLDFIRE) != 0 ? FPUTYPE_COLDFIRE
 	      : FPUTYPE_68881);
 
-  /* Sanity check to ensure that msep-data and mid-sahred-library are not
+  /* Sanity check to ensure that msep-data and mid-shared-library are not
    * both specified together.  Doing so simply doesn't make sense.
    */
   if (TARGET_SEP_DATA && TARGET_ID_SHARED_LIBRARY)
@@ -716,6 +716,9 @@  m68k_option_override (void)
       else
 	m68k_sched_mac = MAC_NO;
     }
+
+  /* -ffold-mem-offsets doesn't work for m68k (PR113357).  */
+  flag_fold_mem_offsets = 0;
 }
 
 /* Implement TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE.  */