Patchwork Remove svr4.h

login
register
mail settings
Submitter Joseph S. Myers
Date Dec. 20, 2010, 11:37 p.m.
Message ID <Pine.LNX.4.64.1012202336510.10870@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/76244/
State New
Headers show

Comments

Joseph S. Myers - Dec. 20, 2010, 11:37 p.m.
This patch finishes eliminating svr4.h by removing the file and all
comments referencing it (except the one in elfos.h noting it was based
on svr4.h).

Most comments mentioning svr4.h did not appear to say anything worth
preserving; apart from references to svr4.h (often out of date,
e.g. saying that a macro was defined there that hasn't been defined
there for a long time) they were often generic descriptions of the
macro semantics, which we don't want in individual targets (only in
the generic manual), rather than saying anything specific to the
particular target.  Thus, the bulk of the comments were removed rather
than updated.  In some cases it *is* now the case that the target
structure of defining and redefining macros is needlessly complicated
now it is no longer necessary to override what svr4.h does, but
detailed cleanup of how individual targets define macros is out of the
scope of this patch series.

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.  Also
tested building cc1 and xgcc for crosses to: bfin-elf cris-elf
fr30-elf frv-elf i686-openbsd i686-wrs-vxworks ia64-elf iq2000-elf
m68k-elf m68k-linux-gnu mips-wrs-vxworks moxie-elf i686-netbsd
powerpc-eabi sh-elf i686-solaris2.10 sparc-elf xstormy16-elf
v850-elf.  OK to commit?

2010-12-20  Joseph Myers  <joseph@codesourcery.com>

	* config/svr4.h: Remove.
	* system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
	* config.gcc, config/bfin/bfin.h, config/cris/cris.h,
	config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
	config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
	config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
	config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
	config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
	config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
	config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
	config/v850/v850.h, config/vxworks.h: Remove or update comments
	referring to svr4.h.
Richard Guenther - Dec. 22, 2010, 11:46 a.m.
On Tue, Dec 21, 2010 at 12:37 AM, Joseph S. Myers
<joseph@codesourcery.com> wrote:
> This patch finishes eliminating svr4.h by removing the file and all
> comments referencing it (except the one in elfos.h noting it was based
> on svr4.h).
>
> Most comments mentioning svr4.h did not appear to say anything worth
> preserving; apart from references to svr4.h (often out of date,
> e.g. saying that a macro was defined there that hasn't been defined
> there for a long time) they were often generic descriptions of the
> macro semantics, which we don't want in individual targets (only in
> the generic manual), rather than saying anything specific to the
> particular target.  Thus, the bulk of the comments were removed rather
> than updated.  In some cases it *is* now the case that the target
> structure of defining and redefining macros is needlessly complicated
> now it is no longer necessary to override what svr4.h does, but
> detailed cleanup of how individual targets define macros is out of the
> scope of this patch series.
>
> Bootstrapped with no regressions on x86_64-unknown-linux-gnu.  Also
> tested building cc1 and xgcc for crosses to: bfin-elf cris-elf
> fr30-elf frv-elf i686-openbsd i686-wrs-vxworks ia64-elf iq2000-elf
> m68k-elf m68k-linux-gnu mips-wrs-vxworks moxie-elf i686-netbsd
> powerpc-eabi sh-elf i686-solaris2.10 sparc-elf xstormy16-elf
> v850-elf.  OK to commit?

Ok.

Thanks,
Richard.

> 2010-12-20  Joseph Myers  <joseph@codesourcery.com>
>
>        * config/svr4.h: Remove.
>        * system.h (USING_SVR4_H, SVR4_ASM_SPEC): Poison.
>        * config.gcc, config/bfin/bfin.h, config/cris/cris.h,
>        config/fr30/fr30.h, config/frv/frv.h, config/i386/openbsdelf.h,
>        config/i386/vx-common.h, config/ia64/elf.h, config/ia64/ia64.h,
>        config/ia64/sysv4.h, config/iq2000/iq2000.h, config/m68k/linux.h,
>        config/m68k/m68kelf.h, config/mips/mips.h, config/mips/vxworks.h,
>        config/moxie/moxie.h, config/netbsd-aout.h, config/openbsd.h,
>        config/rs6000/sysv4.h, config/sh/elf.h, config/sh/sh.h,
>        config/sol2.h, config/sparc/sysv4.h, config/stormy16/stormy16.h,
>        config/v850/v850.h, config/vxworks.h: Remove or update comments
>        referring to svr4.h.
>
> 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,*} \
>
> --
> Joseph S. Myers
> joseph@codesourcery.com
>

Patch

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,*} \