https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83387

--- Comment #15 from Sebastian Huber <sebastian.hu...@embedded-brains.de> ---
(In reply to Sebastian Huber from comment #14)
> (In reply to Peter Bergner from comment #13)
> > (In reply to Sebastian Huber from comment #12)
> > > (In reply to Peter Bergner from comment #9)
> > > [...]
> > > > Here, you can see that on ELFv2, we always assume HW FP regs are 
> > > > avialable,
> > > > because we're forcing usage of HW FP registers (FP_ARG_RETURN, ie, f1, 
> > > > aka
> > > > reg 33).  I'm afraid that are going to be a *LOT* of these assumptions
> > > > builtin into the backend and tracking them all down and fixing them is 
> > > > not
> > > > going to be easy.  That's why I asked earlier, if you really really 
> > > > need to
> > > > disable HW FP for your builds.  If you do, then good luck to you finding
> > > > them all.
> > > 
> > > Thanks for your investigations. I removed the 64-bit soft-float multilib.
> > 
> > I can't promise this is all you need, but does the following patch help?
> > 
> > Index: gcc/config/rs6000/rs6000.c
> > ===================================================================
> > --- gcc/config/rs6000/rs6000.c      (revision 255700)
> > +++ gcc/config/rs6000/rs6000.c      (working copy)
> > @@ -11095,7 +11095,8 @@ rs6000_discover_homogeneous_aggregate (m
> >       homogeneous aggregates; these types are handled via the
> >       targetm.calls.split_complex_arg mechanism.  Complex types
> >       can be elements of homogeneous aggregates, however.  */
> > -  if (DEFAULT_ABI == ABI_ELFv2 && type && AGGREGATE_TYPE_P (type))
> > +  if (TARGET_HARD_FLOAT && DEFAULT_ABI == ABI_ELFv2 && type
> > +      && AGGREGATE_TYPE_P (type))
> >      {
> >        machine_mode field_mode = VOIDmode;
> >        int field_count = rs6000_aggregate_candidate (type, &field_mode);
> > 
> > 
> > 
> 
> With this patch I can build an Ada compiler with a -m64 and -msoft-float
> multilib.

How do we want to continue with this PR? Close it as WONTFIX or apply the patch
and close it as FIXED?

Reply via email to