Commit 3d05b15f by Neil Booth Committed by Neil Booth

config.gcc: Add an i386/sysv4-cpp.h.


	* config.gcc: Add an i386/sysv4-cpp.h.  Remove i386-aout.h from
	vxworks.
config/i386:
	* i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
	* linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
	CPP_PREDEFINES and part of CPP_SPEC.
	i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
	vsta.h, vxi386.h, win32.h: Similarly.
	* sysv4-cpp.h: New.

From-SVN: r54679
parent daefe58e
2002-06-16 Neil Booth <neil@daikokuya.demon.co.uk>
* config.gcc: Add an i386/sysv4-cpp.h. Remove i386-aout.h from
vxworks.
config/i386:
* i386-aout.h, i386elf.h, sysv4.h: Remove CPP_PREDEFINES.
* linux64.h: Use TARGET_OS_CPP_BUILTINS rather than
CPP_PREDEFINES and part of CPP_SPEC.
i386elf.h, mach.h, netware.h, rtemself.h, sco5.h, sol2.h,
vsta.h, vxi386.h, win32.h: Similarly.
* sysv4-cpp.h: New.
2002-06-16 Richard Henderson <rth@redhat.com> 2002-06-16 Richard Henderson <rth@redhat.com>
PR c/7030 PR c/7030
......
...@@ -1006,7 +1006,7 @@ i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4 ...@@ -1006,7 +1006,7 @@ i[34567]86-ncr-sysv4*) # NCR 3000 - ix86 running system V.4
then then
tm_file=i386/sysv4gdb.h tm_file=i386/sysv4gdb.h
else else
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h" tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
fi fi
extra_parts="crtbegin.o crtend.o" extra_parts="crtbegin.o crtend.o"
tmake_file=i386/t-crtpic tmake_file=i386/t-crtpic
...@@ -1031,7 +1031,7 @@ i[34567]86-sequent-sysv*) # would otherwise be caught by i?86-*-sysv* ...@@ -1031,7 +1031,7 @@ i[34567]86-sequent-sysv*) # would otherwise be caught by i?86-*-sysv*
exit 1 exit 1
;; ;;
i[34567]86-wrs-vxworks*) i[34567]86-wrs-vxworks*)
tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/i386-aout.h i386/vxi386.h" tm_file="${tm_file} i386/unix.h i386/bsd.h i386/gas.h i386/gstabs.h i386/vxi386.h"
thread_file='vxworks' thread_file='vxworks'
;; ;;
i[34567]86-*-aout*) i[34567]86-*-aout*)
...@@ -1230,7 +1230,7 @@ i[34567]86-*-sysv5*) # Intel x86 on System V Release 5 ...@@ -1230,7 +1230,7 @@ i[34567]86-*-sysv5*) # Intel x86 on System V Release 5
;; ;;
i[34567]86-*-sysv4*) # Intel 80386's running system V.4 i[34567]86-*-sysv4*) # Intel 80386's running system V.4
xm_defines="POSIX SMALL_ARG_MAX" xm_defines="POSIX SMALL_ARG_MAX"
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h" tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h i386/sysv4.h i386/sysv4-cpp.h"
if test x$stabs = xyes if test x$stabs = xyes
then then
tm_file="${tm_file} dbx.h" tm_file="${tm_file} dbx.h"
......
...@@ -23,9 +23,4 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,9 +23,4 @@ Boston, MA 02111-1307, USA. */
#define TARGET_VERSION fprintf (stderr, " (80386, BSD a.out syntax)"); #define TARGET_VERSION fprintf (stderr, " (80386, BSD a.out syntax)");
/* Specify predefined symbols in preprocessor. */
#undef CPP_PREDEFINES
#define CPP_PREDEFINES ""
/* end of i386-aout.h */ /* end of i386-aout.h */
...@@ -40,10 +40,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -40,10 +40,6 @@ Boston, MA 02111-1307, USA. */
(TYPE_MODE (TYPE) == BLKmode \ (TYPE_MODE (TYPE) == BLKmode \
|| (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8)) || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
/* This used to define X86, but james@bigtex.cactus.org says that
is supposed to be defined optionally by user programs--not by default. */
#define CPP_PREDEFINES ""
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "" #define CPP_SPEC ""
......
...@@ -23,11 +23,24 @@ Boston, MA 02111-1307, USA. */ ...@@ -23,11 +23,24 @@ Boston, MA 02111-1307, USA. */
#define TARGET_VERSION fprintf (stderr, " (x86-64 Linux/ELF)"); #define TARGET_VERSION fprintf (stderr, " (x86-64 Linux/ELF)");
#undef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem(posix)" do \
{ \
builtin_define_std ("linux"); \
builtin_define_std ("unix"); \
builtin_define ("__gnu_linux__"); \
builtin_define ("__ELF__"); \
builtin_assert ("system=posix"); \
if (flag_pic) \
{ \
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
} \
while (0)
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
/* Provide a LINK_SPEC. Here we provide support for the special GCC /* Provide a LINK_SPEC. Here we provide support for the special GCC
options -static and -shared, which allow us to link things in one options -static and -shared, which allow us to link things in one
......
...@@ -2,8 +2,15 @@ ...@@ -2,8 +2,15 @@
#define TARGET_VERSION fprintf (stderr, " (80386, Mach)"); #define TARGET_VERSION fprintf (stderr, " (80386, Mach)");
#undef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES "-Dunix -DMACH -Asystem=unix -Asystem=mach" do \
{ \
builtin_define_std ("unix"); \
builtin_define_std ("MACH"); \
builtin_assert ("system=unix"); \
builtin_assert ("system=mach"); \
} \
while (0)
/* Specify extra dir to search for include files. */ /* Specify extra dir to search for include files. */
#define SYSTEM_INCLUDE_DIR "/usr/mach/include" #define SYSTEM_INCLUDE_DIR "/usr/mach/include"
......
...@@ -24,10 +24,14 @@ Boston, MA 02111-1307, USA. */ ...@@ -24,10 +24,14 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_VERSION #undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (i386 Netware 4)"); #define TARGET_VERSION fprintf (stderr, " (i386 Netware 4)");
/* These surely require augmentation */ #define TARGET_OS_CPP_BUILTINS() \
#undef CPP_PREDEFINES do \
#define CPP_PREDEFINES \ { \
"-DAPX386 -D__i386__ -D__netware__ -Asystem=netware -Acpu=i386 -Amachine=i386" builtin_define_std ("APX386"); \
builtin_define ("__netware__"); \
builtin_assert ("system=netware"); \
} \
while (0)
#undef WCHAR_TYPE #undef WCHAR_TYPE
#define WCHAR_TYPE "short unsigned int" #define WCHAR_TYPE "short unsigned int"
......
...@@ -21,11 +21,14 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,11 +21,14 @@ Boston, MA 02111-1307, USA. */
/* Specify predefined symbols in preprocessor. */ /* Specify predefined symbols in preprocessor. */
#include <i386/i386elf.h> #define TARGET_OS_CPP_BUILTINS() \
do \
#undef CPP_PREDEFINES { \
#define CPP_PREDEFINES "-D__rtems__ -Asystem=rtems \ builtin_define ("__rtems__"); \
-D__ELF__ -D__i386__ -D__USE_INIT_FINI__" builtin_define ("__ELF__"); \
builtin_define ("__USE_INIT_FINI__"); \
#undef CPP_SPEC builtin_assert ("system=rtems"); \
#define CPP_SPEC "%{msoft-float:-D_SOFT_FLOAT}" if (!TARGET_80387) \
builtin_define ("_SOFT_FLOAT"); \
} \
while (0)
...@@ -634,20 +634,32 @@ init_section () \ ...@@ -634,20 +634,32 @@ init_section () \
%{mcoff:crtendS.o%s} \ %{mcoff:crtendS.o%s} \
%{pg:gcrtn.o%s}%{!pg:crtn.o%s}" %{pg:gcrtn.o%s}%{!pg:crtn.o%s}"
#undef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES \ do \
"-Asystem=svr3" { \
builtin_define ("__unix"); \
/* You are in a maze of GCC specs ... all alike */ builtin_define ("_SCO_DS"); \
builtin_define ("_M_I386"); \
builtin_define ("_M_XENIX"); \
builtin_define ("_M_UNIX"); \
builtin_assert ("system=svr3"); \
if (flag_iso) \
cpp_define (pfile, "_STRICT_ANSI"); \
if (flag_pic) \
{ \
builtin_define ("__PIC__"); \
builtin_define ("__pic__"); \
} \
} \
while (0)
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "\ #define CPP_SPEC "\
%{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \ %{fpic:%{mcoff:%e-fpic is not valid with -mcoff}} \
%{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \ %{fPIC:%{mcoff:%e-fPIC is not valid with -mcoff}} \
-D__i386 -D__unix -D_SCO_DS=1 -D_M_I386 -D_M_XENIX -D_M_UNIX \
%{!Xods30:-D_STRICT_NAMES} \ %{!Xods30:-D_STRICT_NAMES} \
%{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \ %{!ansi:%{!posix:%{!Xods30:-D_SCO_XPG_VERS=4}}} \
%{ansi:-isystem include/ansi%s -isystem /usr/include/ansi -D_STRICT_ANSI} \ %{ansi:-isystem include/ansi%s -isystem /usr/include/ansi} \
%{!ansi: \ %{!ansi: \
%{posix:-isystem include/posix%s -isystem /usr/include/posix \ %{posix:-isystem include/posix%s -isystem /usr/include/posix \
-D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \ -D_POSIX_C_SOURCE=2 -D_POSIX_SOURCE=1} \
...@@ -664,8 +676,6 @@ init_section () \ ...@@ -664,8 +676,6 @@ init_section () \
%{scointl:-DM_INTERNAT -D_M_INTERNAT} \ %{scointl:-DM_INTERNAT -D_M_INTERNAT} \
%{!mcoff:-D_SCO_ELF} \ %{!mcoff:-D_SCO_ELF} \
%{mcoff:-D_M_COFF -D_SCO_COFF} \ %{mcoff:-D_M_COFF -D_SCO_COFF} \
%{!mcoff:%{fpic:-D__PIC__ -D__pic__} \
%{fPIC:%{!fpic:-D__PIC__ -D__pic__}}} \
%{Xa:-D_SCO_C_DIALECT=1} \ %{Xa:-D_SCO_C_DIALECT=1} \
%{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \ %{!Xa:%{Xc:-D_SCO_C_DIALECT=3} \
%{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \ %{!Xc:%{Xk:-D_SCO_C_DIALECT=4} \
......
...@@ -77,9 +77,26 @@ Boston, MA 02111-1307, USA. */ ...@@ -77,9 +77,26 @@ Boston, MA 02111-1307, USA. */
#define HANDLE_PRAGMA_REDEFINE_EXTNAME 1 #define HANDLE_PRAGMA_REDEFINE_EXTNAME 1
#undef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES \ do \
"-Dunix -D__svr4__ -D__SVR4 -Dsun -D__PRAGMA_REDEFINE_EXTNAME -Asystem=svr4" { \
builtin_define_std ("unix"); \
builtin_define_std ("sun"); \
builtin_define ("__svr4__"); \
builtin_define ("__SVR4"); \
builtin_define ("__PRAGMA_REDEFINE_EXTNAME"); \
builtin_assert ("system=svr4"); \
/* For C++ we must add some additional macros \
required by the C++ standard library. */ \
if (c_language == clk_cplusplus) \
{ \
builtin_define ("_XOPEN_SOURCE=500"); \
builtin_define ("_LARGEFILE_SOURCE=1"); \
builtin_define ("_LARGEFILE64_SOURCE=1"); \
builtin_define ("-D__EXTENSIONS__"); \
} \
} \
while (0)
/* Solaris 2/Intel as chokes on #line directives. */ /* Solaris 2/Intel as chokes on #line directives. */
#undef CPP_SPEC #undef CPP_SPEC
...@@ -89,14 +106,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -89,14 +106,6 @@ Boston, MA 02111-1307, USA. */
%{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} \ %{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} \
%{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude}" %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude}"
/* For C++ we need to add some additional macro definitions required
by the C++ standard library. */
#define CPLUSPLUS_CPP_SPEC "\
-D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 \
-D__EXTENSIONS__ \
%(cpp) \
"
#undef LIB_SPEC #undef LIB_SPEC
#define LIB_SPEC \ #define LIB_SPEC \
"%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio} \ "%{compat-bsd:-lucb -lsocket -lnsl -lelf -laio} \
......
/* Target definitions for GNU compiler for Intel 80386 running System V.4
Copyright (C) 1991, 2001, 2002 Free Software Foundation, Inc.
Written by Ron Guilmette (rfg@netcom.com).
This file is part of GNU CC.
GNU CC 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,
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. */
#define TARGET_OS_CPP_BUILTINS() \
do \
{ \
builtin_define_std ("unix"); \
builtin_define ("__svr4__"); \
builtin_assert ("system=unix"); \
builtin_assert ("system=svr4"); \
} \
while (0)
...@@ -31,12 +31,6 @@ Boston, MA 02111-1307, USA. */ ...@@ -31,12 +31,6 @@ Boston, MA 02111-1307, USA. */
(TYPE_MODE (TYPE) == BLKmode \ (TYPE_MODE (TYPE) == BLKmode \
|| (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8)) || (VECTOR_MODE_P (TYPE_MODE (TYPE)) && int_size_in_bytes (TYPE) == 8))
/* Define which macros to predefine. __svr4__ is our extension. */
/* This used to define X86, but james@bigtex.cactus.org says that
is supposed to be defined optionally by user programs--not by default. */
#define CPP_PREDEFINES \
"-Dunix -D__svr4__ -Asystem=unix -Asystem=svr4"
/* Output at beginning of assembler file. */ /* Output at beginning of assembler file. */
/* The .file command should always begin the output. */ /* The .file command should always begin the output. */
...@@ -140,6 +134,3 @@ Boston, MA 02111-1307, USA. */ ...@@ -140,6 +134,3 @@ Boston, MA 02111-1307, USA. */
"addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \ "addl\t$_GLOBAL_OFFSET_TABLE_+[.-.LPR%=],%0" \
: "=d"(BASE)) : "=d"(BASE))
#endif #endif
#undef CPP_SPEC
#define CPP_SPEC ""
...@@ -21,7 +21,12 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,7 +21,12 @@ Boston, MA 02111-1307, USA. */
#define TARGET_VERSION fprintf (stderr, " (80386, BSD syntax)"); #define TARGET_VERSION fprintf (stderr, " (80386, BSD syntax)");
#ifdef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#undef CPP_PREDEFINES do \
#endif { \
#define CPP_PREDEFINES "-Dunix -DVSTA -Asystem=unix -Asystem=vsta" builtin_define_std ("unix"); \
builtin_define ("VSTA"); \
builtin_assert ("system=unix"); \
builtin_assert ("system=vsta"); \
} \
while (0)
...@@ -21,28 +21,31 @@ Boston, MA 02111-1307, USA. */ ...@@ -21,28 +21,31 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_VERSION #undef TARGET_VERSION
#define TARGET_VERSION fprintf (stderr, " (80386, VxWorks BSD syntax)"); #define TARGET_VERSION fprintf (stderr, " (80386, VxWorks BSD syntax)");
#undef CPP_CPU_SPEC #define TARGET_OS_CPP_BUILTINS() \
#define CPP_CPU_SPEC "\ do \
-Asystem=unix -Acpu=i386 -Amachine=i386 \ { \
%{!ansi:-Di386} -D__i386 -D__i386__ \ builtin_define ("__vxworks"); \
%{march=i386:-DCPU=I80386} \ builtin_assert ("system=unix"); \
%{march=i486:-DCPU=I80486 %(cpp_486)} \ \
%{march=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \ if (TARGET_386) \
%{march=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \ builtin_define ("CPU=I80386"); \
%{!march=*: \ else if (TARGET_486) \
%{mcpu=i386:-DCPU=I80386} \ builtin_define ("CPU=I80486"); \
%{mcpu=i486:-DCPU=I80486 %(cpp_486)} %{m486:-DCPU=I80486 %(cpp_486)} \ else if (TARGET_PENTIUM) \
%{mpentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \ { \
%{mcpu=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \ builtin_define ("CPU=PENTIUM"); \
%{mpentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \ builtin_define ("CPU_VARIANT=PENTIUM"); \
%{mcpu=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \ } \
%{!mcpu*:%{!m486:%{!mpentium*:-DCPU=I80386}}}}" else if (TARGET_PENTIUMPRO) \
{ \
builtin_define ("CPU=PENTIUM"); \
builtin_define ("CPU_VARIANT=PENTIUMPRO"); \
} \
} \
while (0)
#define HANDLE_SYSV_PRAGMA #define HANDLE_SYSV_PRAGMA
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-D__vxworks"
/* VxWorks does all the library stuff itself. */ /* VxWorks does all the library stuff itself. */
#undef LIB_SPEC #undef LIB_SPEC
......
...@@ -62,11 +62,24 @@ Boston, MA 02111-1307, USA. */ ...@@ -62,11 +62,24 @@ Boston, MA 02111-1307, USA. */
{ "no-nop-fun-dllimport", MASK_NOP_FUN_DLLIMPORT, "" }, { "no-nop-fun-dllimport", MASK_NOP_FUN_DLLIMPORT, "" },
#undef CPP_PREDEFINES #define TARGET_OS_CPP_BUILTINS() \
#define CPP_PREDEFINES "-D_WIN32 -DWINNT -D_X86_=1 \ do \
-D__stdcall=__attribute__((__stdcall__)) \ { \
-D__cdecl=__attribute__((__cdecl__)) \ builtin_define ("_WIN32"); \
-Asystem=winnt" builtin_define_std ("WINNT"); \
builtin_define ("_X86_"); \
builtin_define ("__stdcall=__attribute__((__stdcall__))"); \
builtin_define ("__cdecl=__attribute__((__cdecl__))"); \
builtin_assert ("system=winnt"); \
if (TARGET_CYGWIN) \
{ \
builtin_define ("__CYGWIN32__"); \
builtin_define ("__CYGWIN__"); \
} \
else \
builtin_define ("__MINGW32__"); \
} \
while (0)
#undef STARTFILE_SPEC #undef STARTFILE_SPEC
...@@ -75,8 +88,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -75,8 +88,7 @@ Boston, MA 02111-1307, USA. */
#undef CPP_SPEC #undef CPP_SPEC
#define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \ #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
%{!mcygwin:-iwithprefixbefore include/mingw32 -D__MINGW32__} \ %{!mcygwin:-iwithprefixbefore include/mingw32}"
%{mcygwin:-D__CYGWIN32__ -D__CYGWIN__}"
/* We have to dynamic link to get to the system DLLs. All of libc, libm and /* We have to dynamic link to get to the system DLLs. All of libc, libm and
the Unix stuff is in cygwin.dll. The import library is called the Unix stuff is in cygwin.dll. The import library is called
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment