Message ID | 4EE2285B.3060305@arm.com |
---|---|
State | New |
Headers | show |
Richard Earnshaw <rearnsha@arm.com> writes: > --- config.gcc (revision 182097) > +++ config.gcc (local) > @@ -242,7 +242,14 @@ md_file= > > # Obsolete configurations. > case ${target} in > + # Avoid special cases that are not obsolete > + arm*-*-linux-gnueabi* \ > + | arm*-*-ecos-elf \ > + ) > + ;; Please keep the cases sorted alphabetically. Thanks. Rainer
In message <4EE2285B.3060305@arm.com> Richard Earnshaw <rearnsha@arm.com> wrote: > I think we've reached the point where the following target > configurations should be End-of-Life'd. As such, I'd like to mark them > as deprecated in gcc-4.7, prior to removal after the branch. > > I'd also like to remove at that time support for some now obsolete > co-processor units, namely the FPA and Maverick. Would it really be necessary to remove the FPA support ? Does it hinder any future ARM support in gcc ? The reason for thse questions is that for many years our RISC OS gcc port (currently following the gcc developments on the 4.6 branch and trunk) can make use of hard-float FPA output for one of its multilib flavours (see http://gccsdk.riscos.info/) and I would like to keep on supporting this in gcc 4.8. John.
On Fri, 9 Dec 2011, Richard Earnshaw wrote: > I think we've reached the point where the following target > configurations should be End-of-Life'd. As such, I'd like to mark them > as deprecated in gcc-4.7, prior to removal after the branch. I agree it's time to remove these old-ABI ports - and old-ABI uClinux should be deprecated / removed as well. I intend to remove the old-ABI support in glibc at some point (it's bitrotten and just confuses people without actually building). > I'd also like to remove at that time support for some now obsolete > co-processor units, namely the FPA and Maverick. Note that there's a default in arm.c #ifdef FPUTYPE_DEFAULT target_fpu_name = FPUTYPE_DEFAULT; #else if (arm_arch_cirrus) target_fpu_name = "maverick"; else target_fpu_name = "fpe2"; #endif meaning some targets default to FPA when no -mfpu= optionis passed, and removing FPA means changing the ABI for these ports. It looks like these are: arm*-*-freebsd* arm*-*-uclinux* (old-ABI) arm*-*-ecos-elf arm*-*-rtems* (old-ABI) arm*-*-elf arm*-wince-pe*. My presumption is that VFP format will be better for anyone currently using the FreeBSD and WinCE ports (while as discussed the others are deprecation candidates), though the FreeBSD port is probably rather bitrotten and much of the current WinCE support for GCC isn't upstream.
Richard, are you going to check in these deprecations for 4.7 (with the additional deprecation of old-ABI uClinux as I noted in <http://gcc.gnu.org/ml/gcc-patches/2011-12/msg01260.html>)? Time is rapidly running out for doing so. Note that current glibc ports no longer supports ARM old-ABI; I removed that support (which was already probably rather bitrotten) on 2012-01-07.
--- config.gcc (revision 182097) +++ config.gcc (local) @@ -242,7 +242,14 @@ md_file= # Obsolete configurations. case ${target} in + # Avoid special cases that are not obsolete + arm*-*-linux-gnueabi* \ + | arm*-*-ecos-elf \ + ) + ;; alpha*-dec-osf5.1* \ + | arm*-*-elf \ + | arm*-*-linux* \ | i[34567]86-*-interix3* \ | mips-sgi-irix6.5 \ | mips*-*-openbsd* \ @@ -3021,12 +3028,20 @@ case "${target}" in case "$with_fpu" in "" \ - | fpa | fpe2 | fpe3 | maverick | vfp | vfp3 | vfpv3 \ + | vfp | vfp3 | vfpv3 \ | vfpv3-fp16 | vfpv3-d16 | vfpv3-d16-fp16 | vfpv3xd \ | vfpv3xd-fp16 | neon | neon-fp16 | vfpv4 | vfpv4-d16 \ | fpv4-sp-d16 | neon-vfpv4) # OK ;; + fpa | fpe2 | fpe3 | maverick) + if test "x$enable_obsolete" != xyes; then + echo "*** Configuration option --with-fpu=${with_fpu} is obsolete." >&2 + echo "*** Specify --enable-obsolete to build it anyway." >&2 + echo "*** Support will be REMOVED in the next major release of GCC." >&2 + exit 1 + fi + ;; *) echo "Unknown fpu used in --with-fpu=$with_fpu" 2>&1 exit 1