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

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  <da...@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
-- 
1.7.6.401.g6a319

Reply via email to