Message ID | Pine.LNX.4.64.1012202336510.10870@digraph.polyomino.org.uk |
---|---|
State | New |
Headers | show |
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 >
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,*} \