This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Remove support for PowerPC e500 / SPE ISA extension.


On Thu, May 16, 2019 at 2:51 PM, Adhemerval Zanella
<adhemerval.zanella@linaro.org> wrote:
On 16/05/2019 14:54, Zack Weinberg wrote:
> > GCC 9 dropped support for the e500 variation of PowerPC, so I suggest
> > we should follow suit.
>
> I was about to send a similar patch.  I will do a sanity check on
> powerpc-linux-gnu to see if this causes any regressions.  It looks ok
> imho and I think it align with GCC move regarding the ABI.

Thanks for the review.  I will wait to hear the results of your sanity
check before pushing.

> > diff --git a/NEWS b/NEWS
> > index 0e4c57f273..fa29027715 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -54,6 +54,10 @@ Deprecated and removed features, and other changes affecting compatibility:
> >  * With --enable-bind-now, installed programs are now linked with the
> >    BIND_NOW flag.
> >
> > +* Support for PowerPC e500 CPUs and the PowerPC SPE ISA extension
> > +  (powerpc-*-*gnuspe* configurations) has been removed, following the
> > +  removal of support for this subarchitecture in version 9 of GCC.
>
> I think it worth to mention it was deprecated on GCC 8 and finally
> removed on GCC 9.

OK, I will make that change.

> > diff --git a/sysdeps/powerpc/fpu_control.h b/sysdeps/powerpc/fpu_control.h
> > index e0c5cf6534..e88d81640d 100644
> > --- a/sysdeps/powerpc/fpu_control.h
> > +++ b/sysdeps/powerpc/fpu_control.h
> > @@ -19,6 +19,10 @@
> >  #ifndef _FPU_CONTROL_H
> >  #define _FPU_CONTROL_H
> > +#if defined __SPE__ || (defined __NO_FPRS__ && !defined _SOFT_FLOAT)
> > +# error "SPE/e500 is no longer supported"
> > +#endif
> > +
>
> I am not familiar with SPE, but it does seems to be what
> sysdeps/powerpc/preconfigure does to check SPE support.

I relied on the SPE ifdefs in sysdeps/powerpc/powerpc32/__longjmp-common.S
(which are removed by this patch) in writing this one.  If the PowerPC
maintainers would like to have a different construct I am happy to change it.

> > +      # SPE support was dropped in glibc 2.30.
> > +      # We can't use AC_MSG_ERROR here.
> > +      # The parent script is in the middle of printing the
> > +      # "checking for sysdeps preconfigure fragments" line.
> > +      echo >&2
> > +      echo "*** Host system type $host is no longer supported." >&2
> > +      exit 1
>
> Other ABI (csky, riscv, m68k) seems to just write out without any prepending
> (***).  MIPS uses as_fn_error macro instead.  I am not sure which is
> preferable here.

I forgot that as_fn_error exists.  It's not documented, and its
calling convention is weird, but it does copy the failure message into
config.log, which is important for forensics.  How about I remove the
stars for now, as neither as_fn_error nor the existing direct messages
use them, and we discuss separately a patch to change all preconfigure
scripts to use as_fn_error, perhaps consulting the Autoconf maintainers?

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]