]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/config/svr4.h
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / config / svr4.h
index 5f74453c35ababf777a82af57ea7ca9757342036..1a481301f18a8882f70b97f1e0130d20dad27444 100644 (file)
@@ -1,38 +1,39 @@
 /* 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 Free Software Foundation, Inc.
+   2000, 2001, 2007, 2008, 2009 Free Software Foundation, Inc.
    Contributed by Ron Guilmette (rfg@monkeys.com).
 
-This file is part of GNU CC.
+This file is part of GCC.
 
-GNU CC is free software; you can redistribute it and/or modify
+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 2, or (at your option)
+the Free Software Foundation; either version 3, or (at your option)
 any later version.
 
-GNU CC is distributed in the hope that it will be useful,
+GCC is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 GNU General Public License for more details.
 
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING.  If not, write to
-the Free Software Foundation, 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA.
+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.
 
-   To use this file, make up a line like that in config.gcc:
+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.  For example, CPP_PREDEFINES is defined here with only the
-   defined -Dunix and -DSVR4.  You should probably override that in your
-   target-specific MACHINE/svr4.h file with a set of defines that
-   includes these, but also contains an appropriate define for the type
-   of hardware that you are targeting.
+   you need.
 */
 
 /* Define a symbol indicating that we are using svr4.h.  */
@@ -45,6 +46,7 @@ Boston, MA 02111-1307, USA.
    -z* options (for the linker).  Note however that there is no such
    thing as a -T option for svr4.  */
 
+#undef  SWITCH_TAKES_ARG
 #define SWITCH_TAKES_ARG(CHAR)         \
   (DEFAULT_SWITCH_TAKES_ARG (CHAR)     \
    || (CHAR) == 'h'                    \
@@ -59,13 +61,8 @@ Boston, MA 02111-1307, USA.
   && strcmp (STR, "Tdata") && strcmp (STR, "Ttext")    \
   && strcmp (STR, "Tbss"))
 
-/* You should redefine CPP_PREDEFINES in any file which includes this one.
-   The definition should be appropriate for the type of target system
-   involved, and it should include any -A (assertion) options which are
-   appropriate for the given target system.  */
-#undef CPP_PREDEFINES
-
-/* Provide an ASM_SPEC appropriate for svr4.  Here we try to support as
+/* 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
@@ -79,27 +76,28 @@ Boston, MA 02111-1307, USA.
 
    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.
 */
 
-#undef  ASM_SPEC
-#define ASM_SPEC \
+#ifdef USE_GAS
+#define SVR4_ASM_SPEC \
+  "%{v:-V} %{Wa,*:%*}"
+#else
+#define SVR4_ASM_SPEC \
   "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}"
+#endif
 
-/* svr4 assemblers need the `-' (indicating input from stdin) to come after
-   the -o option (and its argument) for some reason.  If we try to put it
-   before the -o option, the assembler will try to read the file named as
-   the output file in the -o option as an input file (after it has already
-   written some stuff to it) and the binary stuff contained therein will
-   cause totally confuse the assembler, resulting in many spurious error
-   messages.  */
+#undef  ASM_SPEC
+#define ASM_SPEC SVR4_ASM_SPEC
 
-#undef  ASM_FINAL_SPEC
-#define ASM_FINAL_SPEC "%|"
+#define AS_NEEDS_DASH_FOR_PIPED_INPUT
 
 /* Under svr4, the normal location of the `ld' and `as' programs is the
    /usr/ccs/bin directory.  */
 
-#ifndef CROSS_COMPILE
+#ifndef CROSS_DIRECTORY_STRUCTURE
 #undef  MD_EXEC_PREFIX
 #define MD_EXEC_PREFIX "/usr/ccs/bin/"
 #endif
@@ -107,7 +105,7 @@ Boston, MA 02111-1307, USA.
 /* Under svr4, the normal location of the various *crt*.o files is the
    /usr/ccs/lib directory.  */
 
-#ifndef CROSS_COMPILE
+#ifndef CROSS_DIRECTORY_STRUCTURE
 #undef  MD_STARTFILE_PREFIX
 #define MD_STARTFILE_PREFIX "/usr/ccs/lib/"
 #endif
@@ -151,7 +149,7 @@ Boston, MA 02111-1307, USA.
    not being done.  */
 
 #undef LINK_SPEC
-#ifdef CROSS_COMPILE
+#ifdef CROSS_DIRECTORY_STRUCTURE
 #define LINK_SPEC "%{h*} %{v:-V} \
                   %{b} \
                   %{static:-dn -Bstatic} \
@@ -173,16 +171,15 @@ Boston, MA 02111-1307, USA.
                   %{Qy:} %{!Qn:-Qy}"
 #endif
 
-/* Gcc automatically adds in one of the files /usr/ccs/lib/values-Xc.o,
-   /usr/ccs/lib/values-Xa.o, or /usr/ccs/lib/values-Xt.o for each final
-   link step (depending upon the other gcc options selected, such as
-   -traditional and -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.  */
+/* 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: \
@@ -190,15 +187,9 @@ Boston, MA 02111-1307, USA.
                          %{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: \
-                        %{traditional:values-Xt.o%s} \
-                        %{!traditional:values-Xa.o%s}} \
+                       %{!ansi:values-Xa.o%s} \
                        crtbegin.o%s"
 
-/* Allow #sccs in preprocessor.  */
-
-#define SCCS_DIRECTIVE
-
 /* 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
@@ -225,8 +216,4 @@ Boston, MA 02111-1307, USA.
 #undef  WCHAR_TYPE_SIZE
 #define WCHAR_TYPE_SIZE BITS_PER_WORD
 
-/* This causes trouble, because it requires the host machine
-   to support ANSI C.  */
-/* #define MULTIBYTE_CHARS */
-
-#define TARGET_HAS_F_SETLKW
+#define TARGET_POSIX_IO