X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fconfig%2Fsvr4.h;h=6fa88fcd821ddace0b01ca2129c9102349bbf4c4;hp=23911d9e6f7c3850836efef25e1c6a517cf2cd0f;hb=4266946e4489968a311f38add4dda93b0d6802c1;hpb=255b8f3fa861798d484564d5586462b0c2a4a9d5 diff --git a/gcc/config/svr4.h b/gcc/config/svr4.h index 23911d9e6f7..6fa88fcd821 100644 --- a/gcc/config/svr4.h +++ b/gcc/config/svr4.h @@ -1,49 +1,39 @@ /* Operating system specific defines to be used when targeting GCC for some generic System V Release 4 system. - Copyright (C) 1991, 94-99, 2000 Free Software Foundation, Inc. + Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998, 1999, + 2000, 2001 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) 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. +along with GCC; see the file COPYING. If not, write to +the Free Software Foundation, 51 Franklin Street, Fifth Floor, +Boston, MA 02110-1301, USA. - To use this file, make up a file with a name like: + To use this file, make up a line like that in config.gcc: - ?????svr4.h + tm_file="$tm_file elfos.h svr4.h MACHINE/svr4.h" - where ????? is replaced by the name of the basic hardware that you - are targeting for. Then, in the file ?????svr4.h, put something - like: - - #include "?????.h" - #include "svr4.h" - - followed by 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 ?????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. + 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 -#include "elfos.h" - /* Cpp, assembler, linker, library, and startfile spec's. */ /* This defines which switch letters take arguments. On svr4, most of @@ -51,6 +41,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' \ @@ -65,12 +56,6 @@ 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 many of the specialized svr4 assembler options as seems reasonable, given that there are certain options which we can't (or shouldn't) @@ -85,22 +70,16 @@ 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 \ "%{v:-V} %{Qy:} %{!Qn:-Qy} %{n} %{T} %{Ym,*} %{Yd,*} %{Wa,*:%*}" -/* 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_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. */ @@ -140,16 +119,16 @@ Boston, MA 02111-1307, USA. 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, -b, -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. 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. + -z*, -V, -b, -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. @@ -159,7 +138,7 @@ Boston, MA 02111-1307, USA. #undef LINK_SPEC #ifdef CROSS_COMPILE #define LINK_SPEC "%{h*} %{v:-V} \ - %{b} %{Wl,*:%*} \ + %{b} \ %{static:-dn -Bstatic} \ %{shared:-G -dy -z text} \ %{symbolic:-Bsymbolic -G -dy -z text} \ @@ -168,7 +147,7 @@ Boston, MA 02111-1307, USA. %{Qy:} %{!Qn:-Qy}" #else #define LINK_SPEC "%{h*} %{v:-V} \ - %{b} %{Wl,*:%*} \ + %{b} \ %{static:-dn -Bstatic} \ %{shared:-G -dy -z text} \ %{symbolic:-Bsymbolic -G -dy -z text} \ @@ -179,16 +158,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: \ @@ -196,15 +174,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 @@ -231,8 +203,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