diff mbox

Delete remaining references to sparc little-endian support.

Message ID 20111024.193004.1850782120757710150.davem@davemloft.net
State New
Headers show

Commit Message

David Miller Oct. 24, 2011, 11:30 p.m. UTC
Eric, David Brenner noticed that sparc little-endian support is
a candidate for deprecation or deletion.  I support the latter,
we have no real OS targets supporting it and sparclet support
was removed in 2003 (!!!).

In fact, only sp64-elf.h even tries to override the endianness
macros correctly, and I can guarentee you we have big-endian
assumptions in some of our subregging in the MD file.

It's really not possible that this is being used by anyone, as far as
I can see.  So let's just kill it all off.

Any objections?

gcc/

	* config/sparc/little-endian.opt: Delete.
	* config.gcc: Remove references to config/sparc/little-endian.opt
	* doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
	* config/sparc/linux64.h: Delete references to -mlittle-endian.
	* config/sparc/netbsd-elf.h: Likewise.
	* config/sparc/openbsd64.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sp64-elf.h: Likewise and delete overrides for
	BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
	* config/sparc/sparc.c (dump_target_flag_bits): Remove reference
	to MASK_LITTLE_ENDIAN.
	* config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.
---
 gcc/ChangeLog                      |   13 +++++++++++++
 gcc/config.gcc                     |    6 +++---
 gcc/config/sparc/linux64.h         |    3 ---
 gcc/config/sparc/little-endian.opt |   27 ---------------------------
 gcc/config/sparc/netbsd-elf.h      |    1 -
 gcc/config/sparc/openbsd64.h       |    1 -
 gcc/config/sparc/sp64-elf.h        |    8 --------
 gcc/config/sparc/sparc.c           |    2 --
 gcc/config/sparc/sparc.h           |    1 -
 gcc/config/sparc/sparc.opt         |    3 ---
 gcc/doc/invoke.texi                |    6 ------
 11 files changed, 16 insertions(+), 55 deletions(-)
 delete mode 100644 gcc/config/sparc/little-endian.opt

Comments

David Bremner Oct. 25, 2011, 12:43 a.m. UTC | #1
> Eric, David Brenner noticed that sparc little-endian support is
> a candidate for deprecation or deletion.  I support the latter,
> we have no real OS targets supporting it and sparclet support
> was removed in 2003 (!!!).
>
These are actually two separate issues. Sparclet was an embedded
design bi-endian design from the late 90s. It was dropped as a target
years ago, but the -msparclet option, Sparclet instructions in
sparc.md and the sparclet.md files remained. Sparc little endian
support may have been added to support Windows NT.
http://ftp.lanet.lv/ftp/sun-info/sunflash/1993/Jul/55.11-Sun-Intergraph:-SPARC-and-Windows-NT

Regards,
David Bremner
Eric Botcazou Oct. 25, 2011, 7:26 a.m. UTC | #2
> It's really not possible that this is being used by anyone, as far as
> I can see.  So let's just kill it all off.
>
> Any objections?

None.
diff mbox

Patch

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a49628d..b4051ff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -5,6 +5,19 @@ 
 
 2011-10-24  David S. Miller  <davem@davemloft.net>
 
+	* config/sparc/little-endian.opt: Delete.
+	* config.gcc: Remove references to config/sparc/little-endian.opt
+	* doc/invoke.texi: Remove documentation of -mlittl-endian on sparc.
+	* config/sparc/linux64.h: Delete references to -mlittle-endian.
+	* config/sparc/netbsd-elf.h: Likewise.
+	* config/sparc/openbsd64.h: Likewise.
+	* config/sparc/sparc.h: Likewise.
+	* config/sparc/sp64-elf.h: Likewise and delete overrides for
+	BYTES_BIG_ENDIAN and WORDS_BIG_ENDIAN.
+	* config/sparc/sparc.c (dump_target_flag_bits): Remove reference
+	to MASK_LITTLE_ENDIAN.
+	* config/sparc/sparc.opt (Mask(LITTLE_ENDIAN)): Delete.
+
 	* config/sparc/sparc.md: Only use F, G, and C constraints in FP
 	insns.  Only use D, Y, and Z constraints in vector insns.
 
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 018e421..2c18655 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -2529,12 +2529,12 @@  sparc-wrs-vxworks)
 	;;
 sparc64-*-elf*)
 	tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h"
-	extra_options="${extra_options} sparc/little-endian.opt"
+	extra_options="${extra_options}"
 	tmake_file="${tmake_file} sparc/t-sparc"
 	;;
 sparc64-*-rtems*)
 	tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h sparc/sysv4.h sparc/sp64-elf.h sparc/rtemself.h rtems.h"
-	extra_options="${extra_options} sparc/little-endian.opt"
+	extra_options="${extra_options}"
 	tmake_file="${tmake_file} sparc/t-sparc t-rtems"
 	;;
 sparc64-*-linux*)
@@ -2565,7 +2565,7 @@  sparc64-*-openbsd*)
 	tm_file="sparc/openbsd1-64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sparc/sp64-elf.h"
 	tm_file="${tm_file} openbsd.h openbsd-stdint.h openbsd-libpthread.h sparc/openbsd64.h"
 	extra_options="${extra_options} openbsd.opt"
-	extra_options="${extra_options} sparc/little-endian.opt"
+	extra_options="${extra_options}"
 	gas=yes gnu_ld=yes
 	with_cpu=ultrasparc
 	tmake_file="${tmake_file} sparc/t-sparc"
diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
index 7604fa0..bec279d 100644
--- a/gcc/config/sparc/linux64.h
+++ b/gcc/config/sparc/linux64.h
@@ -133,7 +133,6 @@  along with GCC; see the file COPYING3.  If not see
 #undef  LINK_SPEC
 #define LINK_SPEC "\
 %(link_arch) \
-%{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
 "
 
@@ -209,7 +208,6 @@  extern const char *host_detect_local_cpu (int argc, const char **argv);
       %{rdynamic:-export-dynamic} \
       -dynamic-linker " GNU_USER_DYNAMIC_LINKER64 "} \
     %{static:-static}} \
-%{mlittle-endian:-EL} \
 %{!mno-relax:%{!r:-relax}} \
 "
 
@@ -221,7 +219,6 @@  extern const char *host_detect_local_cpu (int argc, const char **argv);
 -s \
 %{fpic|fPIC|fpie|fPIE:-K PIC} \
 %{!.c:%{findirect-dispatch:-K PIC}} \
-%{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) %(asm_relax)"
 
 #undef ASM_OUTPUT_ALIGNED_LOCAL
diff --git a/gcc/config/sparc/little-endian.opt b/gcc/config/sparc/little-endian.opt
deleted file mode 100644
index 52db029..0000000
--- a/gcc/config/sparc/little-endian.opt
+++ /dev/null
@@ -1,27 +0,0 @@ 
-; Options for the SPARC port of the compiler
-;
-; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
-;
-; This file is part of GCC.
-;
-; GCC is free software; you can redistribute it and/or modify it under
-; the terms of the GNU General Public License as published by the Free
-; Software Foundation; either version 3, or (at your option) any later
-; version.
-;
-; GCC is distributed in the hope that it will be useful, but WITHOUT
-; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-; or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-; License for more details.
-;
-; You should have received a copy of the GNU General Public License
-; along with GCC; see the file COPYING3.  If not see
-; <http://www.gnu.org/licenses/>.
-
-mlittle-endian
-Target Report RejectNegative Mask(LITTLE_ENDIAN) MaskExists
-Generate code for little-endian
-
-mbig-endian
-Target Report RejectNegative InverseMask(LITTLE_ENDIAN)
-Generate code for big-endian
diff --git a/gcc/config/sparc/netbsd-elf.h b/gcc/config/sparc/netbsd-elf.h
index d19615b..505a29e 100644
--- a/gcc/config/sparc/netbsd-elf.h
+++ b/gcc/config/sparc/netbsd-elf.h
@@ -69,7 +69,6 @@  along with GCC; see the file COPYING3.  If not see
 
 #undef ASM_SPEC
 #define ASM_SPEC "%{fpic|fPIC|fpie|fPIE:-K PIC} \
-%{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) %(asm_relax)"
 
 #undef STDC_0_IN_SYSTEM_HEADERS
diff --git a/gcc/config/sparc/openbsd64.h b/gcc/config/sparc/openbsd64.h
index da479db..a38b68e 100644
--- a/gcc/config/sparc/openbsd64.h
+++ b/gcc/config/sparc/openbsd64.h
@@ -50,7 +50,6 @@  along with GCC; see the file COPYING3.  If not see
 #undef ASM_SPEC
 #define ASM_SPEC "\
 -s %{fpic|fPIC|fpie|fPIE:-K PIC} \
-%{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) \
 "
 
diff --git a/gcc/config/sparc/sp64-elf.h b/gcc/config/sparc/sp64-elf.h
index 492f90f..17463b4 100644
--- a/gcc/config/sparc/sp64-elf.h
+++ b/gcc/config/sparc/sp64-elf.h
@@ -39,7 +39,6 @@  along with GCC; see the file COPYING3.  If not see
 #undef ASM_SPEC
 #define ASM_SPEC "\
 -s %{fpic|fPIC|fpie|fPIE:-K PIC} \
-%{mlittle-endian:-EL} \
 %(asm_cpu) %(asm_arch) \
 "
 
@@ -47,7 +46,6 @@  along with GCC; see the file COPYING3.  If not see
 #undef LINK_SPEC
 #define LINK_SPEC "\
 %{v:-V} \
-%{mlittle-endian:-EL} \
 "
 
 #undef STARTFILE_SPEC
@@ -60,12 +58,6 @@  along with GCC; see the file COPYING3.  If not see
 
 /* Use the default (for now).  */
 #undef LIB_SPEC
-
-#undef BYTES_BIG_ENDIAN
-#define BYTES_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
-
-#undef WORDS_BIG_ENDIAN
-#define WORDS_BIG_ENDIAN (! TARGET_LITTLE_ENDIAN)
 
 #undef  LOCAL_LABEL_PREFIX
 #define LOCAL_LABEL_PREFIX  "."
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index 29d2922..f806c6c 100644
--- a/gcc/config/sparc/sparc.c
+++ b/gcc/config/sparc/sparc.c
@@ -815,8 +815,6 @@  dump_target_flag_bits (const int flags)
     fprintf (stderr, "VIS3 ");
   if (flags & MASK_DEPRECATED_V8_INSNS)
     fprintf (stderr, "DEPRECATED_V8_INSNS ");
-  if (flags & MASK_LITTLE_ENDIAN)
-    fprintf (stderr, "LITTLE_ENDIAN ");
   if (flags & MASK_SPARCLET)
     fprintf (stderr, "SPARCLET ");
   if (flags & MASK_SPARCLITE)
diff --git a/gcc/config/sparc/sparc.h b/gcc/config/sparc/sparc.h
index aed18fc..65b4527 100644
--- a/gcc/config/sparc/sparc.h
+++ b/gcc/config/sparc/sparc.h
@@ -307,7 +307,6 @@  extern enum cmodel sparc_cmodel;
 
 /* Macros to distinguish the endianness, window model and FP support.  */
 #define CPP_OTHER_SPEC "\
-%{mlittle-endian:-D__LITTLE_ENDIAN__} \
 %{mflat:-D_FLAT} \
 %{msoft-float:-D_SOFT_FLOAT} \
 "
diff --git a/gcc/config/sparc/sparc.opt b/gcc/config/sparc/sparc.opt
index 5ee6396..cb807fd 100644
--- a/gcc/config/sparc/sparc.opt
+++ b/gcc/config/sparc/sparc.opt
@@ -197,9 +197,6 @@  Target Report RejectNegative Var(sparc_fix_at697f)
 Enable workaround for single erratum of AT697F processor
 (corresponding to erratum #13 of AT697E processor)
 
-Mask(LITTLE_ENDIAN)
-;; Generate code for little-endian
-
 Mask(LONG_DOUBLE_128)
 ;; Use 128-bit long double
 
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index b297628..50e875a 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -880,7 +880,6 @@  See RS/6000 and PowerPC Options.
 -mfaster-structs  -mno-faster-structs  -mflat  -mno-flat @gol
 -mfpu  -mno-fpu  -mhard-float  -msoft-float @gol
 -mhard-quad-float  -msoft-quad-float @gol
--mlittle-endian @gol
 -mstack-bias  -mno-stack-bias @gol
 -munaligned-doubles  -mno-unaligned-doubles @gol
 -mv8plus  -mno-v8plus  -mvis  -mno-vis @gol
@@ -17709,11 +17708,6 @@  These @samp{-m} options are supported in addition to the above
 on SPARC-V9 processors in 64-bit environments:
 
 @table @gcctabopt
-@item -mlittle-endian
-@opindex mlittle-endian
-Generate code for a processor running in little-endian mode.  It is only
-available for a few configurations and most notably not on Solaris and Linux.
-
 @item -m32
 @itemx -m64
 @opindex m32