Remove support for PowerPC SPE extension (powerpc*-*-*gnuspe*).
commita053e878494080f7070cf92890e546057236c9c9
authorZack Weinberg <zackw@panix.com>
Thu, 16 May 2019 17:34:27 +0000 (16 13:34 -0400)
committerZack Weinberg <zackw@panix.com>
Wed, 22 May 2019 14:05:40 +0000 (22 10:05 -0400)
treec906e6ed1cb5ffd3f7ea460d521bd8317e8d855b
parent46ae07324b1cd50fbf8f37a076d6babcfca7c510
Remove support for PowerPC SPE extension (powerpc*-*-*gnuspe*).

GCC 9 dropped support for the SPE extensions to PowerPC, which means
powerpc*-*-*gnuspe* configurations are no longer buildable with that
compiler.  This ISA extension was peculiar to the “e500” line of
embedded PowerPC chips, which, as far as I can tell, are no longer
being manufactured, so I think we should follow suit.

This patch was developed by grepping for “e500”, “__SPE__”, and
“__NO_FPRS__”, and may not eliminate every vestige of SPE support.
Most uses of __NO_FPRS__ are left alone, as they are relevant to
normal embedded PowerPC with soft-float.

        * sysdeps/powerpc/preconfigure: Error out on powerpc-*-*gnuspe*
        host type.
        * scripts/build-many-glibcs.py: Remove powerpc-*-linux-gnuspe
        and powerpc-*-linux-gnuspe-e500v1 from list of build configurations.

        * sysdeps/powerpc/powerpc32/e500: Recursively delete.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/e500: Recursively delete.
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h:
        Delete.

        * sysdeps/powerpc/fpu_control.h: Remove SPE variant.
        Issue an #error if used with a compiler in SPE-float mode.
        * sysdeps/powerpc/powerpc32/__longjmp_common.S
        * sysdeps/powerpc/powerpc32/setjmp_common.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
        * sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S:
        Remove code to preserve SPE register state.

        * sysdeps/unix/sysv/linux/powerpc/elision-lock.c
        * sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
        * sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
        Remove __SPE__ ifndefs.
51 files changed:
NEWS
scripts/build-many-glibcs.py
sysdeps/powerpc/fpu_control.h
sysdeps/powerpc/powerpc32/__longjmp-common.S
sysdeps/powerpc/powerpc32/e500/nofpu/Makefile [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/atomic-feclearexcept.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/atomic-feholdexcept.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/atomic-feupdateenv.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fclrexcpt.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fe_note_change.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fedisblxcpt.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/feenablxcpt.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fegetenv.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fegetexcept.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fegetmode.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fegetround.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/feholdexcpt.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fenv_const.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fenv_libc.h [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fesetenv.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fesetexcept.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fesetmode.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fesetround.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fetestexceptflag.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/feupdateenv.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fexcepts_from_prctl.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fexcepts_from_spe.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fexcepts_to_prctl.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fexcepts_to_spe.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fgetexcptflg.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/flt-rounds.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fraiseexcept-soft.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fraiseexcpt.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/fsetexcptflg.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/ftestexcept.c [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/get-rounding-mode.h [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/s_fabsf.S [deleted file]
sysdeps/powerpc/powerpc32/e500/nofpu/spe-raise.c [deleted file]
sysdeps/powerpc/powerpc32/setjmp-common.S
sysdeps/powerpc/preconfigure
sysdeps/unix/sysv/linux/powerpc/elision-lock.c
sysdeps/unix/sysv/linux/powerpc/elision-trylock.c
sysdeps/unix/sysv/linux/powerpc/elision-unlock.c
sysdeps/unix/sysv/linux/powerpc/powerpc32/e500/nofpu/Implies [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc32/getcontext-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/context-e500.h [deleted file]
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/getcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/setcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/swapcontext.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext-common.S
sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext-common.S