Index: gcc/system.h
===================================================================
--- gcc/system.h	(revision 168085)
+++ gcc/system.h	(working copy)
@@ -822,7 +822,8 @@ extern void fancy_abort (const char *, i
 	SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
 	TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP	   \
 	HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE   \
-	FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST
+	FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST  \
+	USING_SVR4_H SVR4_ASM_SPEC
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\
Index: gcc/config.gcc
===================================================================
--- gcc/config.gcc	(revision 168085)
+++ gcc/config.gcc	(working copy)
@@ -72,7 +72,7 @@
 #  tm_file		A list of target macro files, if different from
 #			"$cpu_type/$cpu_type.h". Usually it's constructed
 #			per target in a way like this:
-#			tm_file="${tm_file} dbxelf.h elfos.h svr4.h ${cpu_type.h}/elf.h"
+#			tm_file="${tm_file} dbxelf.h elfos.h ${cpu_type.h}/elf.h"
 #			Note that the preferred order is:
 #			- specific target header "${cpu_type}/${cpu_type.h}"
 #			- generic headers like dbxelf.h elfos.h, etc.
Index: gcc/config/frv/frv.h
===================================================================
--- gcc/config/frv/frv.h	(revision 168085)
+++ gcc/config/frv/frv.h	(working copy)
@@ -55,14 +55,6 @@
 # define SUBTARGET_DRIVER_SELF_SPECS
 #endif
 
-/* A C string constant that tells the GCC driver program options to pass to
-   the assembler.  It can also specify how to translate options you give to GNU
-   CC into options for GCC to pass to the assembler.  See the file `sun3.h'
-   for an example of this.
-
-   Do not define this macro if it does not need to do anything.
-
-   Defined in svr4.h.  */
 #undef  ASM_SPEC
 #define ASM_SPEC "\
 %{G*} %{Ym,*} %{Yd,*} \
@@ -79,24 +71,9 @@
     %{mno-fdpic:-mnopic} %{mfdpic} \
     %{fpic|fpie: -mpic} %{fPIC|fPIE: -mPIC} %{mlibrary-pic}}"
 
-/* Another C string constant used much like `LINK_SPEC'.  The difference
-   between the two is that `STARTFILE_SPEC' is used at the very beginning of
-   the command given to the linker.
-
-   If this macro is not defined, a default is provided that loads the standard
-   C startup file from the usual place.  See `gcc.c'.
-
-   Defined in svr4.h.  */
 #undef  STARTFILE_SPEC
 #define STARTFILE_SPEC "crt0%O%s frvbegin%O%s"
 
-/* Another C string constant used much like `LINK_SPEC'.  The difference
-   between the two is that `ENDFILE_SPEC' is used at the very end of the
-   command given to the linker.
-
-   Do not define this macro if it does not need to do anything.
-
-   Defined in svr4.h.  */
 #undef  ENDFILE_SPEC
 #define ENDFILE_SPEC "frvend%O%s"
 
@@ -142,15 +119,6 @@
 /* For ABI compliance, we need to put bss data into the normal data section.  */
 #define CC1_SPEC "%{G*}"
 
-/* A C string constant that tells the GCC driver program options to pass to
-   the linker.  It can also specify how to translate options you give to GCC
-   into options for GCC to pass to the linker.
-
-   Do not define this macro if it does not need to do anything.
-
-   Defined in svr4.h.  */
-/* Override the svr4.h version with one that dispenses without the svr4
-   shared library options, notably -G.  */
 #undef	LINK_SPEC
 #define LINK_SPEC "\
 %{h*} %{v:-V} \
@@ -162,15 +130,6 @@
 %{YP,*} \
 %{Qy:} %{!Qn:-Qy}"
 
-/* Another C string constant used much like `LINK_SPEC'.  The difference
-   between the two is that `LIB_SPEC' is used at the end of the command given
-   to the linker.
-
-   If this macro is not defined, a default is provided that loads the standard
-   C library from the usual place.  See `gcc.c'.
-
-   Defined in svr4.h.  */
-
 #undef  LIB_SPEC
 #define LIB_SPEC "--start-group -lc -lsim --end-group"
 
@@ -428,67 +387,6 @@
    slower in that case, define this macro as 0.  */
 #define STRICT_ALIGNMENT 1
 
-/* Define this if you wish to imitate the way many other C compilers handle
-   alignment of bitfields and the structures that contain them.
-
-   The behavior is that the type written for a bit-field (`int', `short', or
-   other integer type) imposes an alignment for the entire structure, as if the
-   structure really did contain an ordinary field of that type.  In addition,
-   the bit-field is placed within the structure so that it would fit within such
-   a field, not crossing a boundary for it.
-
-   Thus, on most machines, a bit-field whose type is written as `int' would not
-   cross a four-byte boundary, and would force four-byte alignment for the
-   whole structure.  (The alignment used may not be four bytes; it is
-   controlled by the other alignment parameters.)
-
-   If the macro is defined, its definition should be a C expression; a nonzero
-   value for the expression enables this behavior.
-
-   Note that if this macro is not defined, or its value is zero, some bitfields
-   may cross more than one alignment boundary.  The compiler can support such
-   references if there are `insv', `extv', and `extzv' insns that can directly
-   reference memory.
-
-   The other known way of making bitfields work is to define
-   `STRUCTURE_SIZE_BOUNDARY' as large as `BIGGEST_ALIGNMENT'.  Then every
-   structure can be accessed with fullwords.
-
-   Unless the machine has bit-field instructions or you define
-   `STRUCTURE_SIZE_BOUNDARY' that way, you must define
-   `PCC_BITFIELD_TYPE_MATTERS' to have a nonzero value.
-
-   If your aim is to make GCC use the same conventions for laying out
-   bitfields as are used by another compiler, here is how to investigate what
-   the other compiler does.  Compile and run this program:
-
-        struct foo1
-        {
-          char x;
-          char :0;
-          char y;
-        };
-
-        struct foo2
-        {
-          char x;
-          int :0;
-          char y;
-        };
-
-        main ()
-        {
-          printf ("Size of foo1 is %d\n",
-                  sizeof (struct foo1));
-          printf ("Size of foo2 is %d\n",
-                  sizeof (struct foo2));
-          exit (0);
-        }
-
-   If this prints 2 and 5, then the compiler's behavior is what you would get
-   from `PCC_BITFIELD_TYPE_MATTERS'.
-
-   Defined in svr4.h.  */
 #define PCC_BITFIELD_TYPE_MATTERS 1
 
 
@@ -1855,15 +1753,6 @@ __asm__("\n"								\
 /* Short Data Support */
 #define SDATA_SECTION_ASM_OP	"\t.section .sdata,\"aw\""
 
-/* On svr4, we *do* have support for the .init and .fini sections, and we
-   can put stuff in there to be executed before and after `main'.  We let
-   crtstuff.c and other files know this by defining the following symbols.
-   The definitions say how to change sections to the .init and .fini
-   sections.  This is the same for all known svr4 assemblers.
-
-   The standard System V.4 macros will work, but they look ugly in the
-   assembly output, so redefine them.  */
-
 #undef	INIT_SECTION_ASM_OP
 #undef	FINI_SECTION_ASM_OP
 #define INIT_SECTION_ASM_OP	"\t.section .init,\"ax\""
@@ -1942,13 +1831,6 @@ do {									\
    variables are output.  */
 #undef ASM_OUTPUT_LOCAL
 
-/* Like `ASM_OUTPUT_LOCAL' except takes the required alignment as a separate,
-   explicit argument.  If you define this macro, it is used in place of
-   `ASM_OUTPUT_LOCAL', and gives you more flexibility in handling the required
-   alignment of the variable.  The alignment is specified as the number of
-   bits.
-
-   Defined in svr4.h.  */
 #undef ASM_OUTPUT_ALIGNED_LOCAL
 
 /* This is for final.c, because it is used by ASM_DECLARE_OBJECT_NAME.  */
@@ -1989,21 +1871,6 @@ do {									\
 /* Globalizing directive for a label.  */
 #define GLOBAL_ASM_OP "\t.globl "
 
-/* A C statement to store into the string STRING a label whose name is made
-   from the string PREFIX and the number NUM.
-
-   This string, when output subsequently by `assemble_name', should produce the
-   output that `(*targetm.asm_out.internal_label)' would produce with the same PREFIX
-   and NUM.
-
-   If the string begins with `*', then `assemble_name' will output the rest of
-   the string unchanged.  It is often convenient for
-   `ASM_GENERATE_INTERNAL_LABEL' to use `*' in this way.  If the string doesn't
-   start with `*', then `ASM_OUTPUT_LABELREF' gets to output the string, and
-   may change it.  (Of course, `ASM_OUTPUT_LABELREF' is also part of your
-   machine description, so you should know what it does on your machine.)
-
-   Defined in svr4.h.  */
 #undef ASM_GENERATE_INTERNAL_LABEL
 #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM)			\
 do {									\
@@ -2013,13 +1880,6 @@ do {									\
 
 /* Macros Controlling Initialization Routines.  */
 
-/* If defined, a C string constant for the assembler operation to identify the
-   following data as initialization code.  If not defined, GCC will assume
-   such a section does not exist.  When you are using special sections for
-   initialization and termination functions, this macro also controls how
-   `crtstuff.c' and `libgcc2.c' arrange to run the initialization functions.
-
-   Defined in svr4.h.  */
 #undef INIT_SECTION_ASM_OP
 
 /* If defined, `main' will call `__main' despite the presence of
@@ -2113,12 +1973,6 @@ do {									\
 #define FINAL_PRESCAN_INSN(INSN, OPVEC, NOPERANDS)\
   frv_final_prescan_insn (INSN, OPVEC, NOPERANDS)
 
-/* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  These are useful when a
-   single `md' file must support multiple assembler formats.  In that case, the
-   various `tm.h' files can define these macros differently.
-
-   USER_LABEL_PREFIX is defined in svr4.h.  */
 #undef USER_LABEL_PREFIX
 #define USER_LABEL_PREFIX ""
 #define REGISTER_PREFIX ""
@@ -2175,11 +2029,6 @@ fprintf (STREAM, "\t.word .L%d\n", VALUE
 
 /* Assembler Commands for Alignment.  */
 
-/* A C statement to output to the stdio stream STREAM an assembler instruction
-   to advance the location counter by NBYTES bytes.  Those bytes should be zero
-   when loaded.  NBYTES will be a C expression of type `int'.
-
-   Defined in svr4.h.  */
 #undef  ASM_OUTPUT_SKIP
 #define ASM_OUTPUT_SKIP(STREAM, NBYTES) \
   fprintf (STREAM, "\t.zero\t%u\n", (int)(NBYTES))
@@ -2215,17 +2064,6 @@ fprintf (STREAM, "\t.word .L%d\n", VALUE
    This declaration is required.  */
 #define DBX_REGISTER_NUMBER(REGNO) (REGNO)
 
-/* A C expression that returns the type of debugging output GCC produces
-   when the user specifies `-g' or `-ggdb'.  Define this if you have arranged
-   for GCC to support more than one format of debugging output.  Currently,
-   the allowable values are `DBX_DEBUG', `SDB_DEBUG', `DWARF_DEBUG',
-   `DWARF2_DEBUG', and `XCOFF_DEBUG'.
-
-   The value of this macro only affects the default debugging output; the user
-   can always get a specific type of output by using `-gstabs', `-gcoff',
-   `-gdwarf-1', `-gdwarf-2', or `-gxcoff'.
-
-   Defined in svr4.h.  */
 #undef  PREFERRED_DEBUGGING_TYPE
 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
 
Index: gcc/config/sparc/sysv4.h
===================================================================
--- gcc/config/sparc/sysv4.h	(revision 168085)
+++ gcc/config/sparc/sysv4.h	(working copy)
@@ -24,19 +24,15 @@ along with GCC; see the file COPYING3.  
 #define TARGET_VERSION fprintf (stderr, " (sparc ELF)"); 
 #endif
 
-/* ??? Put back the SIZE_TYPE/PTRDIFF_TYPE definitions set by sparc.h.
-   Why, exactly, is svr4.h messing with this?  Seems like the chip 
-   would know best.  */
-
 #undef SIZE_TYPE
 #define SIZE_TYPE (TARGET_ARCH64 ? "long unsigned int" : "unsigned int")
 
 #undef PTRDIFF_TYPE
 #define PTRDIFF_TYPE (TARGET_ARCH64 ? "long int" : "int")
 
-/* Undefined some symbols which are defined in "svr4.h" but which are
-   appropriate only for typical svr4 systems, but not for the specific
-   case of svr4 running on a SPARC.  */
+/* Undefined some symbols which are appropriate only for typical svr4
+   systems, but not for the specific case of svr4 running on a
+   SPARC.  */
 
 #undef INIT_SECTION_ASM_OP
 #undef FINI_SECTION_ASM_OP
Index: gcc/config/netbsd-aout.h
===================================================================
--- gcc/config/netbsd-aout.h	(revision 168085)
+++ gcc/config/netbsd-aout.h	(working copy)
@@ -69,8 +69,6 @@ along with GCC; see the file COPYING3.  
 #undef LINK_SPEC
 #define LINK_SPEC NETBSD_LINK_SPEC_AOUT
 
-/* Some imports from svr4.h in support of shared libraries.  */
-
 /* Define the strings used for the .type, .size, and .set directives.
    These strings generally do not vary from one system running NetBSD
    to another, but if a given system needs to use different pseudo-op
Index: gcc/config/i386/vx-common.h
===================================================================
--- gcc/config/i386/vx-common.h	(revision 168085)
+++ gcc/config/i386/vx-common.h	(working copy)
@@ -26,8 +26,8 @@ along with GCC; see the file COPYING3.  
 #define TARGET_SUBTARGET_DEFAULT \
 	(MASK_80387 | MASK_IEEE_FP | MASK_FLOAT_RETURNS | MASK_VECT8_RETURNS)
 
-/* Provide our target specific DBX_REGISTER_NUMBER, as advertised by the
-   common svr4.h.  VxWorks relies on the SVR4 numbering.  */
+/* Provide our target specific DBX_REGISTER_NUMBER.  VxWorks relies on
+   the SVR4 numbering.  */
 
 #undef DBX_REGISTER_NUMBER
 #define DBX_REGISTER_NUMBER(n)  svr4_dbx_register_map[n]
Index: gcc/config/i386/openbsdelf.h
===================================================================
--- gcc/config/i386/openbsdelf.h	(revision 168085)
+++ gcc/config/i386/openbsdelf.h	(working copy)
@@ -18,8 +18,8 @@ You should have received a copy of the G
 along with GCC; see the file COPYING3.  If not see
 <http://www.gnu.org/licenses/>.  */
 
-/* This gets defined in tm.h->linux.h->svr4.h, and keeps us from using
-   libraries compiled with the native cc, so undef it. */
+/* This keeps us from using libraries compiled with the native cc, so
+   undef it. */
 #undef NO_DOLLAR_IN_LABEL
 
 /* Override the default comment-starter of "/".  */
Index: gcc/config/sol2.h
===================================================================
--- gcc/config/sol2.h	(revision 168085)
+++ gcc/config/sol2.h	(working copy)
@@ -179,7 +179,6 @@ along with GCC; see the file COPYING3.  
 #undef LINK_ARCH_SPEC
 #define LINK_ARCH_SPEC LINK_ARCH32_SPEC
 
-/* This should be the same as in svr4.h, except with -R added.  */
 #undef  LINK_SPEC
 #define LINK_SPEC \
   "%{h*} %{v:-V} \
Index: gcc/config/sh/elf.h
===================================================================
--- gcc/config/sh/elf.h	(revision 168085)
+++ gcc/config/sh/elf.h	(working copy)
@@ -1,5 +1,5 @@
 /* Definitions of target machine for gcc for Renesas / SuperH SH using ELF.
-   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2004, 2005, 2007
+   Copyright (C) 1996, 1997, 2000, 2001, 2002, 2004, 2005, 2007, 2010
    Free Software Foundation, Inc.
    Contributed by Ian Lance Taylor <ian@cygnus.com>.
 
@@ -32,8 +32,6 @@ along with GCC; see the file COPYING3.  
 /* use a more compact format for line information */
 #define DWARF2_ASM_LINE_DEBUG_INFO 1
 
-/* WCHAR_TYPE / WCHAR_TYPE_SIZE are defined to long int / BITS_PER_WORD in
-   svr4.h, but these work out as 64 bit for shmedia64.  */
 #undef WCHAR_TYPE
 /* #define WCHAR_TYPE (TARGET_SH5 ? "int" : "long int") */
 #define WCHAR_TYPE SH_ELF_WCHAR_TYPE
@@ -66,8 +64,6 @@ along with GCC; see the file COPYING3.  
 #define LINK_EMUL_PREFIX "sh%{ml:l}elf"
 #endif
 
-/* svr4.h undefined DBX_REGISTER_NUMBER, so we need to define it
-   again.  */
 #define DBX_REGISTER_NUMBER(REGNO) SH_DBX_REGISTER_NUMBER (REGNO)
 
 #undef ASM_GENERATE_INTERNAL_LABEL
Index: gcc/config/sh/sh.h
===================================================================
--- gcc/config/sh/sh.h	(revision 168085)
+++ gcc/config/sh/sh.h	(working copy)
@@ -405,8 +405,7 @@ do { \
 #define SUBTARGET_LINK_EMUL_SUFFIX ""
 #define SUBTARGET_LINK_SPEC ""
 
-/* svr4.h redefines LINK_SPEC inappropriately, so go via SH_LINK_SPEC,
-   so that we can undo the damage without code replication.  */
+/* Go via SH_LINK_SPEC to avoid code replication.  */
 #define LINK_SPEC SH_LINK_SPEC
 
 #define SH_LINK_SPEC "\
@@ -2224,8 +2223,6 @@ struct sh_args {
 /* DBX register number for a given compiler register number.  */
 /* GDB has FPUL at 23 and FP0 at 25, so we must add one to all FP registers
    to match gdb.  */
-/* svr4.h undefines this macro, yet we really want to use the same numbers
-   for coff as for elf, so we go via another macro: SH_DBX_REGISTER_NUMBER.  */
 /* expand_builtin_init_dwarf_reg_sizes uses this to test if a
    register exists, so we should return -1 for invalid register numbers.  */
 #define DBX_REGISTER_NUMBER(REGNO) SH_DBX_REGISTER_NUMBER (REGNO)
Index: gcc/config/stormy16/stormy16.h
===================================================================
--- gcc/config/stormy16/stormy16.h	(revision 168085)
+++ gcc/config/stormy16/stormy16.h	(working copy)
@@ -514,7 +514,6 @@ enum reg_class
 
 #define PRINT_OPERAND_ADDRESS(STREAM, X) xstormy16_print_operand_address (STREAM, X)
 
-/* USER_LABEL_PREFIX is defined in svr4.h.  */
 #define REGISTER_PREFIX ""
 #define LOCAL_LABEL_PREFIX "."
 #define USER_LABEL_PREFIX ""
@@ -556,7 +555,6 @@ enum reg_class
 
 /* Macros Affecting all Debug Formats.  */
 
-/* Defined in svr4.h.  */
 #undef  PREFERRED_DEBUGGING_TYPE
 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
 
Index: gcc/config/fr30/fr30.h
===================================================================
--- gcc/config/fr30/fr30.h	(revision 168085)
+++ gcc/config/fr30/fr30.h	(working copy)
@@ -97,7 +97,6 @@ along with GCC; see the file COPYING3.  
 
 #define STRICT_ALIGNMENT 1
 
-/* Defined in svr4.h.  */
 #define PCC_BITFIELD_TYPE_MATTERS 1
 
 /*}}}*/ 
@@ -850,12 +849,6 @@ enum reg_class
 
 #define PRINT_OPERAND_ADDRESS(STREAM, X) fr30_print_operand_address (STREAM, X)
 
-/* If defined, C string expressions to be used for the `%R', `%L', `%U', and
-   `%I' options of `asm_fprintf' (see `final.c').  These are useful when a
-   single `md' file must support multiple assembler formats.  In that case, the
-   various `tm.h' files can define these macros differently.
-
-   USER_LABEL_PREFIX is defined in svr4.h.  */
 #define REGISTER_PREFIX "%"
 #define LOCAL_LABEL_PREFIX "."
 #define USER_LABEL_PREFIX ""
Index: gcc/config/moxie/moxie.h
===================================================================
--- gcc/config/moxie/moxie.h	(revision 168085)
+++ gcc/config/moxie/moxie.h	(working copy)
@@ -21,14 +21,6 @@
 #ifndef GCC_MOXIE_H
 #define GCC_MOXIE_H
 
-/* Another C string constant used much like `LINK_SPEC'.  The difference
-   between the two is that `STARTFILE_SPEC' is used at the very beginning of
-   the command given to the linker.
-
-   If this macro is not defined, a default is provided that loads the standard
-   C startup file from the usual place.  See `gcc.c'.
-
-   Defined in svr4.h.  */
 #undef  STARTFILE_SPEC
 #define STARTFILE_SPEC "crt0%O%s crti.o%s crtbegin.o%s"
 
Index: gcc/config/cris/cris.h
===================================================================
--- gcc/config/cris/cris.h	(revision 168085)
+++ gcc/config/cris/cris.h	(working copy)
@@ -211,7 +211,6 @@ extern int cris_cpu_version;
    to avoid *only* picking up the linux multilib subdir from the "-B./"
    option during build, while still giving it preference.  We'd need some
    %s-variant that checked for existence of some specific file.  */
-/* Override previous definitions (svr4.h).  */
 #undef LINK_SPEC
 #define LINK_SPEC \
  "%{v:--verbose}\
Index: gcc/config/iq2000/iq2000.h
===================================================================
--- gcc/config/iq2000/iq2000.h	(revision 168085)
+++ gcc/config/iq2000/iq2000.h	(working copy)
@@ -21,7 +21,7 @@
 
 /* Driver configuration.  */
 
-/* The svr4.h LIB_SPEC with -leval and --*group tacked on */
+/* A generic LIB_SPEC with -leval and --*group tacked on.  */
 #undef  LIB_SPEC
 #define LIB_SPEC "%{!shared:%{!symbolic:--start-group -lc -leval -lgcc --end-group}}"
 
Index: gcc/config/svr4.h
===================================================================
--- gcc/config/svr4.h	(revision 168085)
+++ gcc/config/svr4.h	(working copy)
@@ -1,177 +0,0 @@
-/* Operating system specific defines to be used when targeting GCC for some
-   generic System V Release 4 system.
-   Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999,
-   2000, 2001, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
-   Contributed by Ron Guilmette (rfg@monkeys.com).
-
-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.
-
-Under Section 7 of GPL version 3, you are granted additional
-permissions described in the GCC Runtime Library Exception, version
-3.1, as published by the Free Software Foundation.
-
-You should have received a copy of the GNU General Public License and
-a copy of the GCC Runtime Library Exception along with this program;
-see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
-<http://www.gnu.org/licenses/>.  */
-
-
-/* To use this file, make up a line like that in config.gcc:
-
-	tm_file="$tm_file elfos.h svr4.h MACHINE/svr4.h"
-
-   where MACHINE is replaced by the name of the basic hardware that you
-   are targeting for.  Then, in the file MACHINE/svr4.h, put any really
-   system-specific defines (or overrides of defines) which you find that
-   you need.
-*/
-
-/* Define a symbol indicating that we are using svr4.h.  */
-#define USING_SVR4_H
-
-/* Cpp, assembler, linker, library, and startfile spec's.  */
-
-/* Provide an ASM_SPEC appropriate for svr4.
-   If we're not using GAS, we try to support as
-   many of the specialized svr4 assembler options as seems reasonable,
-   given that there are certain options which we can't (or shouldn't)
-   support directly due to the fact that they conflict with other options
-   for other svr4 tools (e.g. ld) or with other options for GCC itself.
-   For example, we don't support the -o (output file) or -R (remove
-   input file) options because GCC already handles these things.  We
-   also don't support the -m (run m4) option for the assembler because
-   that conflicts with the -m (produce load map) option of the svr4
-   linker.  We do however allow passing arbitrary options to the svr4
-   assembler via the -Wa, option.
-
-   Note that gcc doesn't allow a space to follow -Y in a -Ym,* or -Yd,*
-   option.
-
-   The svr4 assembler wants '-' on the command line if it's expected to
-   read its stdin.
-*/
-
-#ifdef USE_GAS
-#define SVR4_ASM_SPEC \
-  ""
-#else
-#define SVR4_ASM_SPEC \
-  "%{v:-V} %{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*}"
-#endif
-
-#undef  ASM_SPEC
-#define ASM_SPEC SVR4_ASM_SPEC
-
-/* Provide a LIB_SPEC appropriate for svr4.  Here we tack on the default
-   standard C library (unless we are building a shared library).  */
-
-#undef	LIB_SPEC
-#define LIB_SPEC "%{!shared:%{!symbolic:-lc}}"
-
-/* Provide an ENDFILE_SPEC appropriate for svr4.  Here we tack on our own
-   magical crtend.o file (see crtstuff.c) which provides part of the
-   support for getting C++ file-scope static object constructed before
-   entering `main', followed by the normal svr3/svr4 "finalizer" file,
-   which is either `gcrtn.o' or `crtn.o'.  */
-
-#undef  ENDFILE_SPEC
-#define ENDFILE_SPEC "crtend.o%s %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
-
-/* Provide a LINK_SPEC appropriate for svr4.  Here we provide support
-   for the special GCC options -static, -shared, and -symbolic which
-   allow us to link things in one of these three modes by applying the
-   appropriate combinations of options at link-time.  We also provide
-   support here for as many of the other svr4 linker options as seems
-   reasonable, given that some of them conflict with options for other
-   svr4 tools (e.g. the assembler).  In particular, we do support the
-   -z*, -V, -t, -Qy, -Qn, and -YP* options here, and the -e*, -l*,
-   -o*, -r, -s, -u*, and -L* options are directly supported by gcc.c
-   itself.  We don't directly support the -m (generate load map)
-   option because that conflicts with the -m (run m4) option of the
-   svr4 assembler.  We also don't directly support the svr4 linker's
-   -I* or -M* options because these conflict with existing GCC
-   options.  We do however allow passing arbitrary options to the svr4
-   linker via the -Wl, option, in gcc.c.  We don't support the svr4
-   linker's -a option at all because it is totally useless and because
-   it conflicts with GCC's own -a option.
-
-   Note that gcc doesn't allow a space to follow -Y in a -YP,* option.
-
-   When the -G link option is used (-shared and -symbolic) a final link is
-   not being done.  */
-
-#undef	LINK_SPEC
-#ifdef CROSS_DIRECTORY_STRUCTURE
-#define LINK_SPEC "%{h*} %{v:-V} \
-		   %{static:-dn -Bstatic} \
-		   %{shared:-G -dy -z text} \
-		   %{symbolic:-Bsymbolic -G -dy -z text} \
-		   %{G:-G} \
-		   %{YP,*} \
-		   %{Qy:} %{!Qn:-Qy}"
-#else
-#define LINK_SPEC "%{h*} %{v:-V} \
-		   %{static:-dn -Bstatic} \
-		   %{shared:-G -dy -z text} \
-		   %{symbolic:-Bsymbolic -G -dy -z text} \
-		   %{G:-G} \
-		   %{YP,*} \
-		   %{!YP,*:%{p:-Y P,/usr/ccs/lib/libp:/usr/lib/libp:/usr/ccs/lib:/usr/lib} \
-		    %{!p:-Y P,/usr/ccs/lib:/usr/lib}} \
-		   %{Qy:} %{!Qn:-Qy}"
-#endif
-
-/* Gcc automatically adds in one of the files /usr/ccs/lib/values-Xc.o
-   or /usr/ccs/lib/values-Xa.o for each final link step (depending
-   upon the other gcc options selected, such as -ansi).  These files
-   each contain one (initialized) copy of a special variable called
-   `_lib_version'.  Each one of these files has `_lib_version' initialized
-   to a different (enum) value.  The SVR4 library routines query the
-   value of `_lib_version' at run to decide how they should behave.
-   Specifically, they decide (based upon the value of `_lib_version')
-   if they will act in a strictly ANSI conforming manner or not.  */
-
-#undef	STARTFILE_SPEC
-#define STARTFILE_SPEC "%{!shared: \
-			 %{!symbolic: \
-			  %{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}}}\
-			%{pg:gcrti.o%s}%{!pg:crti.o%s} \
-			%{ansi:values-Xc.o%s} \
-			%{!ansi:values-Xa.o%s} \
- 			crtbegin.o%s"
-
-/* The numbers used to denote specific machine registers in the System V
-   Release 4 DWARF debugging information are quite likely to be totally
-   different from the numbers used in BSD stabs debugging information
-   for the same kind of target machine.  Thus, we undefine the macro
-   DBX_REGISTER_NUMBER here as an extra inducement to get people to
-   provide proper machine-specific definitions of DBX_REGISTER_NUMBER
-   (which is also used to provide DWARF registers numbers in dwarfout.c)
-   in their tm.h files which include this file.  */
-
-#undef DBX_REGISTER_NUMBER
-
-/* Define the actual types of some ANSI-mandated types.  (These
-   definitions should work for most SVR4 systems).  */
-
-#undef  SIZE_TYPE
-#define SIZE_TYPE "unsigned int"
-
-#undef  PTRDIFF_TYPE
-#define PTRDIFF_TYPE "int"
-
-#undef  WCHAR_TYPE
-#define WCHAR_TYPE "long int"
-
-#undef  WCHAR_TYPE_SIZE
-#define WCHAR_TYPE_SIZE BITS_PER_WORD
Index: gcc/config/ia64/elf.h
===================================================================
--- gcc/config/ia64/elf.h	(revision 168085)
+++ gcc/config/ia64/elf.h	(working copy)
@@ -1,6 +1,6 @@
 /* Definitions for embedded ia64-elf target.
 
-Copyright (C) 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
+Copyright (C) 2000, 2001, 2002, 2003, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -59,8 +59,8 @@ see the files COPYING3 and COPYING.RUNTI
 #define LINK_SPEC "%{!mgnu-ld:-dn -N so}"
 #endif
 
-/* svr4.h links with crti.o/crtn.o, but elfos.h does not.  We override elfos.h
-   so that we can use the standard ELF Unix method.  */
+/* elfos.h does not link with crti.o/crtn.o.  We override elfos.h so
+   that we can use the standard ELF Unix method.  */
 #undef  ENDFILE_SPEC
 #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
 
Index: gcc/config/ia64/ia64.h
===================================================================
--- gcc/config/ia64/ia64.h	(revision 168085)
+++ gcc/config/ia64/ia64.h	(working copy)
@@ -1322,11 +1322,6 @@ do {									\
 
 #define ASM_APP_OFF (TARGET_GNU_AS ? "#NO_APP\n" : "//NO_APP\n")
 
-/* Output of Uninitialized Variables.  */
-
-/* This is all handled by svr4.h.  */
-
-
 /* Output and Generation of Labels.  */
 
 /* A C statement (sans semicolon) to output to the stdio stream STREAM the
@@ -1383,7 +1378,7 @@ do {									\
 
 /* Macros Controlling Initialization Routines.  */
 
-/* This is handled by svr4.h and sysv4.h.  */
+/* This is handled by sysv4.h.  */
 
 
 /* Output of Assembler Instructions.  */
@@ -1656,12 +1651,12 @@ do {									\
 
 /* Macros Affecting all Debug Formats.  */
 
-/* This is handled in svr4.h and sysv4.h.  */
+/* This is handled in sysv4.h.  */
 
 
 /* Specific Options for DBX Output.  */
 
-/* This is handled by dbxelf.h which is included by svr4.h.  */
+/* This is handled by dbxelf.h.  */
 
 
 /* Open ended Hooks for DBX Output.  */
Index: gcc/config/ia64/sysv4.h
===================================================================
--- gcc/config/ia64/sysv4.h	(revision 168085)
+++ gcc/config/ia64/sysv4.h	(working copy)
@@ -1,4 +1,4 @@
-/* Override definitions in elfos.h/svr4.h to be correct for IA64.
+/* Override definitions in elfos.h to be correct for IA64.
 
 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005,
 2007, 2010 Free Software Foundation, Inc.
@@ -104,13 +104,9 @@ do {						\
 #undef FINI_SECTION_ASM_OP
 #define FINI_SECTION_ASM_OP	"\t.section\t.fini,\"ax\",\"progbits\""
 
-/* svr4.h undefines this, so we need to define it here.  */
 #define DBX_REGISTER_NUMBER(REGNO) \
   ia64_dbx_register_number(REGNO)
 
-/* Things that svr4.h defines to the wrong type, because it assumes 32-bit
-   ints and 32-bit longs.  */
-
 #undef SIZE_TYPE
 #define SIZE_TYPE "long unsigned int"
 
Index: gcc/config/m68k/linux.h
===================================================================
--- gcc/config/m68k/linux.h	(revision 168085)
+++ gcc/config/m68k/linux.h	(working copy)
@@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  
 #undef TARGET_VERSION
 #define TARGET_VERSION fprintf (stderr, " (68k GNU/Linux with ELF)");
 
-/* Add %(asm_cpu_spec) to the svr4.h definition of ASM_SPEC.  */
+/* Add %(asm_cpu_spec) to a generic definition of ASM_SPEC.  */
 #undef ASM_SPEC
 #define ASM_SPEC "%(asm_cpu_spec) %(asm_pcrel_spec) \
   %{Qy:} %{!Qn:-Qy} %{Ym,*} %{Yd,*}"
Index: gcc/config/m68k/m68kelf.h
===================================================================
--- gcc/config/m68k/m68kelf.h	(revision 168085)
+++ gcc/config/m68k/m68kelf.h	(working copy)
@@ -1,7 +1,7 @@
 /* m68kelf support, derived from m68kv4.h */
 
 /* Target definitions for GNU compiler for mc680x0 running System V.4
-   Copyright (C) 1991, 1993, 2000, 2002, 2003, 2004, 2007
+   Copyright (C) 1991, 1993, 2000, 2002, 2003, 2004, 2007, 2010
    Free Software Foundation, Inc.
 
    Written by Ron Guilmette (rfg@netcom.com) and Fred Fish (fnf@cygnus.com).
@@ -126,8 +126,8 @@ do {								\
    
 #define JUMP_TABLES_IN_TEXT_SECTION 1
 
-/* Override the definition in svr4.h. In m68k svr4, using swbeg is the 
-   standard way to do switch table.  */
+/* In m68k svr4, using swbeg is the standard way to do switch
+   table.  */
 #undef ASM_OUTPUT_BEFORE_CASE_LABEL
 #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE)		\
   fprintf ((FILE), "%s&%d\n", SWBEG_ASM_OP, XVECLEN (PATTERN (TABLE), 1));
Index: gcc/config/rs6000/sysv4.h
===================================================================
--- gcc/config/rs6000/sysv4.h	(revision 168085)
+++ gcc/config/rs6000/sysv4.h	(working copy)
@@ -273,13 +273,9 @@ do {									\
 /* Type used for ptrdiff_t, as a string used in a declaration.  */
 #define PTRDIFF_TYPE "int"
 
-/* Type used for wchar_t, as a string used in a declaration.  */
-/* Override svr4.h definition.  */
 #undef	WCHAR_TYPE
 #define WCHAR_TYPE "long int"
 
-/* Width of wchar_t in bits.  */
-/* Override svr4.h definition.  */
 #undef	WCHAR_TYPE_SIZE
 #define WCHAR_TYPE_SIZE 32
 
@@ -404,8 +400,6 @@ do {									\
 #define	LOCAL_LABEL_PREFIX "."
 #define	USER_LABEL_PREFIX ""
 
-/* svr4.h overrides (*targetm.asm_out.internal_label).  */
-
 #define	ASM_OUTPUT_INTERNAL_LABEL_PREFIX(FILE,PREFIX)	\
   asm_fprintf (FILE, "%L%s", PREFIX)
 
@@ -550,8 +544,6 @@ extern int fixuplabelno;
   while (0)
 #endif
 
-/* Pass various options to the assembler.  */
-/* Override svr4.h definition.  */
 #undef	ASM_SPEC
 #define	ASM_SPEC "%(asm_cpu) \
 %{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \
@@ -640,7 +632,6 @@ extern int fixuplabelno;
 
 #define LINK_START_DEFAULT_SPEC ""
 
-/* Override svr4.h definition.  */
 #undef	LINK_SPEC
 #define	LINK_SPEC "\
 %{h*} %{v:-V} %{!msdata=none:%{G*}} %{msdata=none:-G0} \
@@ -716,7 +707,6 @@ extern int fixuplabelno;
 
 #define	CPP_OS_DEFAULT_SPEC ""
 
-/* Override svr4.h definition.  */
 #undef	STARTFILE_SPEC
 #define	STARTFILE_SPEC "\
 %{mads         : %(startfile_ads)         ; \
@@ -732,7 +722,6 @@ extern int fixuplabelno;
 
 #define	STARTFILE_DEFAULT_SPEC "ecrti.o%s crtbegin.o%s"
 
-/* Override svr4.h definition.  */
 #undef	LIB_SPEC
 #define	LIB_SPEC "\
 %{mads         : %(lib_ads)         ; \
@@ -748,7 +737,6 @@ extern int fixuplabelno;
 
 #define LIB_DEFAULT_SPEC "-lc"
 
-/* Override svr4.h definition.  */
 #undef	ENDFILE_SPEC
 #define	ENDFILE_SPEC "\
 %{mads         : %(endfile_ads)         ; \
Index: gcc/config/mips/mips.h
===================================================================
--- gcc/config/mips/mips.h	(revision 168085)
+++ gcc/config/mips/mips.h	(working copy)
@@ -2802,9 +2802,6 @@ while (0)
 #define ASM_COMMENT_START " #"
 #endif
 
-/* Default definitions for size_t and ptrdiff_t.  We must override the
-   definitions from ../svr4.h on mips-*-linux-gnu.  */
-
 #undef SIZE_TYPE
 #define SIZE_TYPE (POINTER_SIZE == 64 ? "long unsigned int" : "unsigned int")
 
Index: gcc/config/mips/vxworks.h
===================================================================
--- gcc/config/mips/vxworks.h	(revision 168085)
+++ gcc/config/mips/vxworks.h	(working copy)
@@ -33,7 +33,6 @@ along with GCC; see the file COPYING3.  
 %(subtarget_asm_spec)"
 
 #undef LINK_SPEC
-/* LINK_SPEC is clobbered in svr4.h. ugh!  */
 #define LINK_SPEC "\
 %(endian_spec) \
 %{!G:-G 0} %{G*} %{mips1} %{mips2} %{mips3} %{mips4} %{mips32} %{mips64} \
Index: gcc/config/openbsd.h
===================================================================
--- gcc/config/openbsd.h	(revision 168085)
+++ gcc/config/openbsd.h	(working copy)
@@ -157,9 +157,7 @@ while (0)
 #define DBX_NO_XREFS
 
 
-/* Support of shared libraries, mostly imported from svr4.h through netbsd.  */
-/* Two differences from svr4.h:
-   - we use . - _func instead of a local label,
+/* - we use . - _func instead of a local label,
    - we put extra spaces in expressions such as 
      .type _func , @function
      This is more readable for a human being and confuses c++filt less.  */
Index: gcc/config/v850/v850.h
===================================================================
--- gcc/config/v850/v850.h	(revision 168085)
+++ gcc/config/v850/v850.h	(working copy)
@@ -25,7 +25,6 @@
 extern GTY(()) rtx v850_compare_op0;
 extern GTY(()) rtx v850_compare_op1;
 
-/* These are defined in svr4.h but we want to override them.  */
 #undef LIB_SPEC
 #define LIB_SPEC "%{!shared:%{!symbolic:--start-group -lc -lgcc --end-group}}"
 
@@ -931,7 +930,6 @@ typedef enum 
    it.  */
 #define JUMP_TABLES_IN_TEXT_SECTION (!TARGET_JUMP_TABLES_IN_DATA_SECTION)
 
-/* svr4.h defines this assuming that 4 byte alignment is required.  */
 #undef ASM_OUTPUT_BEFORE_CASE_LABEL
 #define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
   ASM_OUTPUT_ALIGN ((FILE), (TARGET_BIG_SWITCH ? 2 : 1));
Index: gcc/config/vxworks.h
===================================================================
--- gcc/config/vxworks.h	(revision 168085)
+++ gcc/config/vxworks.h	(working copy)
@@ -109,7 +109,6 @@ extern void vxworks_asm_out_destructor (
 #undef VXWORKS_GOTT_INDEX
 #define VXWORKS_GOTT_INDEX "__GOTT_INDEX__"
 
-/* As for svr4.h (which not all VxWorks targets include). */
 #undef PTRDIFF_TYPE
 #define PTRDIFF_TYPE "int"
 
Index: gcc/config/bfin/bfin.h
===================================================================
--- gcc/config/bfin/bfin.h	(revision 168085)
+++ gcc/config/bfin/bfin.h	(working copy)
@@ -238,14 +238,6 @@ extern unsigned int bfin_workarounds;
   %{mfast-fp:-lbffastfp} %G %L %{mfast-fp:-lbffastfp} %G \
 "
 
-/* A C string constant that tells the GCC driver program options to pass to
-   the assembler.  It can also specify how to translate options you give to GNU
-   CC into options for GCC to pass to the assembler.  See the file `sun3.h'
-   for an example of this.
-
-   Do not define this macro if it does not need to do anything.
-
-   Defined in svr4.h.  */
 #undef  ASM_SPEC
 #define ASM_SPEC "\
 %{Ym,*} %{Yd,*} \
