This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
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