More i386/ builtins

Neil Booth neil@daikokuya.demon.co.uk
Tue Jun 4 02:01:00 GMT 2002


Richard Henderson wrote:-

> These are tuning macros.
> 
> #define TARGET_CMOVE ((x86_cmove & (1 << ix86_arch)) || TARGET_SSE)
> #define TARGET_SSE ((target_flags & (MASK_SSE | MASK_SSE2)) != 0)
> #define TARGET_SSE2 ((target_flags & MASK_SSE2) != 0)
> #define TARGET_MMX ((target_flags & MASK_MMX) != 0)
> #define TARGET_3DNOW ((target_flags & MASK_3DNOW) != 0)
> #define TARGET_3DNOW_A ((target_flags & MASK_3DNOW_A) != 0)
> 
> These are not.

OK thanks.  To be sure, is this what you have in mind then?

Neil.

config/i386:
	* beos-elf.h, cygwin.h, djgpp.h, gas.h, gnu.h, i386-interix.h,
	i386-interix3.h, i386elf.h, linux-aout.h, linux.h, linux64.h,
	mingw32.h, netbsd-elf.h, netbsd.h, netbsd64.h, rtemself.h,
	sco5.h, sol2.h, sysv3.h, sysv4.h, sysv5.h, uwin.h, vxi386.h,
	win32.h	(CPP_SPEC): Remove cpp_cpu.
	* i386.h (TARGET_CPU_CPP_BUILTINS): Use.
	(CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Die!

============================================================
Index: gcc/config/i386/beos-elf.h
*** beos-elf.h	7 May 2002 21:07:17 -0000	1.15
--- gcc/config/i386/beos-elf.h	4 Jun 2002 08:56:03 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 76,82 ****
  -Asystem=beos"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{!no-fPIC:%{!no-fpic:-D__PIC__ -D__pic__}}"
  
  /* BeOS uses lots of multichars, so don't warn about them unless the
     user explicitly asks for the warnings with -Wmultichar.  Note that
--- 76,82 ----
  -Asystem=beos"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{!no-fPIC:%{!no-fpic:-D__PIC__ -D__pic__}}"
  
  /* BeOS uses lots of multichars, so don't warn about them unless the
     user explicitly asks for the warnings with -Wmultichar.  Note that
============================================================
Index: gcc/config/i386/cygwin.h
*** cygwin.h	19 May 2002 07:55:34 -0000	1.70
--- gcc/config/i386/cygwin.h	4 Jun 2002 08:56:04 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 96,102 ****
     existing args.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
    -D__stdcall=__attribute__((__stdcall__)) \
    -D__cdecl=__attribute__((__cdecl__)) \
    %{!ansi:-D_stdcall=__attribute__((__stdcall__)) \
--- 96,102 ----
     existing args.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
    -D__stdcall=__attribute__((__stdcall__)) \
    -D__cdecl=__attribute__((__cdecl__)) \
    %{!ansi:-D_stdcall=__attribute__((__stdcall__)) \
============================================================
Index: gcc/config/i386/djgpp.h
*** djgpp.h	17 May 2002 07:43:27 -0000	1.38
--- gcc/config/i386/djgpp.h	4 Jun 2002 08:56:04 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 87,93 ****
  
  /* Include <sys/version.h> so __DJGPP__ and __DJGPP_MINOR__ are defined.  */
  #undef CPP_SPEC
! #define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
    %{!ansi:%{!std=c*:%{!std=i*:-DMSDOS}}} %{!ansi:%{!std=c*:%{!std=i*:-DGO32}}} \
    -imacros %s../include/sys/version.h"
  
--- 87,93 ----
  
  /* Include <sys/version.h> so __DJGPP__ and __DJGPP_MINOR__ are defined.  */
  #undef CPP_SPEC
! #define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
    %{!ansi:%{!std=c*:%{!std=i*:-DMSDOS}}} %{!ansi:%{!std=c*:%{!std=i*:-DGO32}}} \
    -imacros %s../include/sys/version.h"
  
============================================================
Index: gcc/config/i386/gas.h
*** gas.h	3 Apr 2002 03:47:39 -0000	1.15
--- gcc/config/i386/gas.h	4 Jun 2002 08:56:04 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 48,54 ****
  /* Specify predefined symbols in preprocessor.  */
  
  #define CPP_PREDEFINES "-Dunix"
! #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE}"
  
  /* Allow #sccs in preprocessor.  */
  
--- 48,54 ----
  /* Specify predefined symbols in preprocessor.  */
  
  #define CPP_PREDEFINES "-Dunix"
! #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
  
  /* Allow #sccs in preprocessor.  */
  
============================================================
Index: gcc/config/i386/gnu.h
*** gnu.h	13 Apr 2002 22:10:56 -0000	1.14
--- gcc/config/i386/gnu.h	4 Jun 2002 08:56:04 -0000
***************
*** 8,14 ****
    -Dunix -Asystem=unix -Asystem=posix -D__gnu_hurd__ -D__GNU__ -Asystem=gnu"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) \
    %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \
    %{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
  
--- 8,14 ----
    -Dunix -Asystem=unix -Asystem=posix -D__gnu_hurd__ -D__GNU__ -Asystem=gnu"
  
  #undef CPP_SPEC
! #define CPP_SPEC "\
    %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} \
    %{posix:-D_POSIX_SOURCE} %{bsd:-D_BSD_SOURCE}"
  
============================================================
Index: gcc/config/i386/i386-interix.h
*** i386-interix.h	19 May 2002 07:55:34 -0000	1.32
--- gcc/config/i386/i386-interix.h	4 Jun 2002 08:56:04 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 66,72 ****
  #undef CPP_SPEC
  /* Write out the correct language type definition for the header files.  
     Unless we have assembler language, write out the symbols for C.
-    cpp_cpu is an Intel specific variant. See i386.h
     mieee is an Alpha specific variant.  Cross polination a bad idea.
     */
  #define CPP_SPEC "\
--- 66,71 ----
*************** Boston, MA 02111-1307, USA.  */
*** 77,83 ****
  %{.C:	-D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
  %{.m:	-D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \
  -remap \
- %(cpp_cpu) \
  %{posix:-D_POSIX_SOURCE} \
  -isystem %$INTERIX_ROOT/usr/include"
  
--- 76,81 ----
============================================================
Index: gcc/config/i386/i386-interix3.h
*** i386-interix3.h	28 Nov 2001 21:41:54 -0000	1.1
--- gcc/config/i386/i386-interix3.h	4 Jun 2002 08:56:04 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 27,32 ****
  %{.cxx:	-D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
  %{.C:	-D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus} \
  %{.m:	-D__LANGUAGE_OBJECTIVE_C__ -D__LANGUAGE_OBJECTIVE_C} \
- %(cpp_cpu) \
  %{posix:-D_POSIX_SOURCE}"
  
--- 27,31 ----
============================================================
Index: gcc/config/i386/i386.h
*** i386.h	3 Jun 2002 06:15:25 -0000	1.267
--- gcc/config/i386/i386.h	4 Jun 2002 08:56:05 -0000
*************** extern int x86_prefetch_sse;
*** 474,496 ****
  #endif
  
  /* Target CPU builtins.  */
! #define TARGET_CPU_CPP_BUILTINS()			\
!   do							\
!     {							\
!       if (TARGET_64BIT)					\
! 	{						\
! 	  builtin_assert ("cpu=x86_64");		\
! 	  builtin_assert ("machine=x86_64");		\
! 	  builtin_define ("__x86_64");			\
! 	  builtin_define ("__x86_64__");		\
! 	}						\
!       else						\
! 	{						\
! 	  builtin_assert ("cpu=i386");			\
! 	  builtin_assert ("machine=i386");		\
! 	  builtin_define_std ("i386");			\
! 	}						\
!     }							\
    while (0)
  
  #define TARGET_CPU_DEFAULT_i386 0
--- 474,594 ----
  #endif
  
  /* Target CPU builtins.  */
! #define TARGET_CPU_CPP_BUILTINS()				\
!   do								\
!     {								\
!       size_t arch_len = strlen (ix86_arch_string);		\
!       size_t cpu_len = strlen (ix86_cpu_string);		\
!       int last_arch_char = ix86_arch_string[arch_len - 1];	\
!       int last_cpu_char = ix86_cpu_string[cpu_len - 1];		\
! 								\
!       if (TARGET_64BIT)						\
! 	{							\
! 	  builtin_assert ("cpu=x86_64");			\
! 	  builtin_assert ("machine=x86_64");			\
! 	  builtin_define ("__x86_64");				\
! 	  builtin_define ("__x86_64__");			\
! 	}							\
!       else							\
! 	{							\
! 	  builtin_assert ("cpu=i386");				\
! 	  builtin_assert ("machine=i386");			\
! 	  builtin_define_std ("i386");				\
! 	}							\
! 								\
!       /* Built-ins based on -mcpu= (or -march= if no		\
! 	 CPU given).  */					\
!       if (TARGET_386)						\
! 	builtin_define ("__tune_i386__");			\
!       else if (TARGET_486)					\
! 	builtin_define ("__tune_i486__");			\
!       else if (TARGET_PENTIUM)					\
! 	{							\
! 	  builtin_define ("__tune_i586__");			\
! 	  builtin_define ("__tune_pentium__");			\
! 	  if (last_cpu_char == 'x')				\
! 	    builtin_define ("__tune_pentium_mmx__");		\
! 	}							\
!       else if (TARGET_PENTIUMPRO)				\
! 	{							\
! 	  builtin_define ("__tune_i686__");			\
! 	  builtin_define ("__tune_pentiumpro__");		\
! 	}							\
!       else if (TARGET_K6)					\
! 	{							\
! 	  builtin_define ("__tune_k6__");			\
! 	  if (last_cpu_char == '2')				\
! 	    builtin_define ("__tune_k6_2__");			\
! 	  else if (last_cpu_char == '3')			\
! 	    builtin_define ("__tune_k6_3__");			\
! 	}							\
!       else if (TARGET_ATHLON)					\
! 	{							\
! 	  builtin_define ("__tune_athlon__");			\
! 	  /* Only plain "athlon" lacks SSE.  */			\
! 	  if (last_cpu_char != 'n')				\
! 	    builtin_define ("__tune_athlon_sse__");		\
! 	}							\
!       else if (TARGET_PENTIUM4)					\
! 	builtin_define ("__tune_pentium4__");			\
! 								\
!       if (TARGET_MMX)						\
! 	builtin_define ("__MMX__");				\
!       if (TARGET_3DNOW)						\
! 	builtin_define ("__3dNOW__");				\
!       if (TARGET_3DNOW_A)					\
! 	builtin_define ("__3dNOW_A__");				\
!       if (TARGET_SSE)						\
! 	builtin_define ("__SSE__");				\
!       if (TARGET_SSE2)						\
! 	builtin_define ("__SSE2__");				\
! 								\
!       /* Built-ins based on -march=.  */			\
!       if (ix86_arch == PROCESSOR_I486)				\
! 	{							\
! 	  builtin_define ("__i486");				\
! 	  builtin_define ("__i486__");				\
! 	}							\
!       else if (ix86_arch == PROCESSOR_PENTIUM)			\
! 	{							\
! 	  builtin_define ("__i586");				\
! 	  builtin_define ("__i586__");				\
! 	  builtin_define ("__pentium");				\
! 	  builtin_define ("__pentium__");			\
! 	  if (last_arch_char == 'x')				\
! 	    builtin_define ("__pentium_mmx__");			\
! 	}							\
!       else if (ix86_arch == PROCESSOR_PENTIUMPRO)		\
! 	{							\
! 	  builtin_define ("__i686");				\
! 	  builtin_define ("__i686__");				\
! 	  builtin_define ("__pentiumpro");			\
! 	  builtin_define ("__pentiumpro__");			\
! 	}							\
!       else if (ix86_arch == PROCESSOR_K6)			\
! 	{							\
! 								\
! 	  builtin_define ("__k6");				\
! 	  builtin_define ("__k6__");				\
! 	  if (last_arch_char == '2')				\
! 	    builtin_define ("__k6_2__");			\
! 	  else if (last_arch_char == '3')			\
! 	    builtin_define ("__k6_3__");			\
! 	}							\
!       else if (ix86_arch == PROCESSOR_ATHLON)			\
! 	{							\
! 	  builtin_define ("__athlon");				\
! 	  builtin_define ("__athlon__");			\
! 	  /* Only plain "athlon" lacks SSE.  */			\
! 	  if (last_arch_char != 'n')				\
! 	    builtin_define ("__athlon_sse__");			\
! 	}							\
!       else if (ix86_arch == PROCESSOR_PENTIUM4)			\
! 	{							\
! 	  builtin_define ("__pentium4");			\
! 	  builtin_define ("__pentium4__");			\
! 	}							\
!     }								\
    while (0)
  
  #define TARGET_CPU_DEFAULT_i386 0
*************** extern int x86_prefetch_sse;
*** 511,606 ****
  				  "pentiumpro", "pentium2", "pentium3", \
  				  "pentium4", "k6", "k6-2", "k6-3",\
  				  "athlon", "athlon-4"}
- #ifndef CPP_CPU_DEFAULT_SPEC
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_i486
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i486__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentium
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i586__ -D__tune_pentium__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentium_mmx
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentiumpro
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i686__ -D__tune_pentiumpro__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentium2
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i686__ -D__tune_pentiumpro__\
- -D__tune_pentium2__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentium3
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i686__ -D__tune_pentiumpro__\
- -D__tune_pentium2__ -D__tune_pentium3__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_pentium4
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_pentium4__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_k6
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_k6__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_k6_2
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_k6__ -D__tune_k6_2__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_k6_3
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_k6__ -D__tune_k6_3__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_athlon
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_athlon__"
- #endif
- #if TARGET_CPU_DEFAULT == TARGET_CPU_DEFAULT_athlon_sse
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_athlon__ -D__tune_athlon_sse__"
- #endif
- #ifndef CPP_CPU_DEFAULT_SPEC
- #define CPP_CPU_DEFAULT_SPEC "-D__tune_i386__"
- #endif
- #endif /* CPP_CPU_DEFAULT_SPEC */
- 
- #define CPP_CPU_SPEC "\
- %{march=i386:%{!mcpu*:-D__tune_i386__ }}\
- %{march=i486:-D__i486 -D__i486__ %{!mcpu*:-D__tune_i486__ }}\
- %{march=pentium|march=i586:-D__i586 -D__i586__ -D__pentium -D__pentium__ \
-   %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ }}\
- %{march=pentium-mmx:-D__i586 -D__i586__ -D__pentium -D__pentium__ \
-   -D__pentium__mmx__ \
-   %{!mcpu*:-D__tune_i586__ -D__tune_pentium__ -D__tune_pentium_mmx__}}\
- %{march=pentiumpro|march=i686:-D__i686 -D__i686__ \
-   -D__pentiumpro -D__pentiumpro__ \
-   %{!mcpu*:-D__tune_i686__ -D__tune_pentiumpro__ }}\
- %{march=k6:-D__k6 -D__k6__ %{!mcpu*:-D__tune_k6__ }}\
- %{march=k6-2:-D__k6 -D__k6__ -D__k6_2__ \
-   %{!mcpu*:-D__tune_k6__ -D__tune_k6_2__ }}\
- %{march=k6-3:-D__k6 -D__k6__ -D__k6_3__ \
-   %{!mcpu*:-D__tune_k6__ -D__tune_k6_3__ }}\
- %{march=athlon|march=athlon-tbird:-D__athlon -D__athlon__ \
-   %{!mcpu*:-D__tune_athlon__ }}\
- %{march=athlon-4|march=athlon-xp|march=athlon-mp:-D__athlon -D__athlon__ \
-   -D__athlon_sse__ \
-   %{!mcpu*:-D__tune_athlon__ -D__tune_athlon_sse__ }}\
- %{march=pentium4:-D__pentium4 -D__pentium4__ %{!mcpu*:-D__tune_pentium4__ }}\
- %{m386|mcpu=i386:-D__tune_i386__ }\
- %{m486|mcpu=i486:-D__tune_i486__ }\
- %{mpentium|mcpu=pentium|mcpu=i586|mcpu=pentium-mmx:-D__tune_i586__ -D__tune_pentium__ }\
- %{mpentiumpro|mcpu=pentiumpro|mcpu=i686|cpu=pentium2|cpu=pentium3:-D__tune_i686__ \
- -D__tune_pentiumpro__ }\
- %{mcpu=k6|mcpu=k6-2|mcpu=k6-3:-D__tune_k6__ }\
- %{mcpu=athlon|mcpu=athlon-tbird|mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
- -D__tune_athlon__ }\
- %{mcpu=athlon-4|mcpu=athlon-xp|mcpu=athlon-mp:\
- -D__tune_athlon_sse__ }\
- %{mcpu=pentium4:-D__tune_pentium4__ }\
- %{march=athlon-tbird|march=athlon-xp|march=athlon-mp|march=pentium3|march=pentium4:\
- -D__SSE__ }\
- %{march=pentium-mmx|march=k6|march=k6-2|march=k6-3\
- |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
- |march=athlon-mp|march=pentium2|march=pentium3|march=pentium4: -D__MMX__ }\
- %{march=k6-2|march=k6-3\
- |march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
- |march=athlon-mp: -D__3dNOW__ }\
- %{march=athlon|march=athlon-tbird|march=athlon-4|march=athlon-xp\
- |march=athlon-mp: -D__3dNOW_A__ }\
- %{msse2: -D__SSE2__ }\
- %{march=pentium4: -D__SSE2__ }\
- %{!march*:%{!mcpu*:%{!m386:%{!m486:%{!mpentium*:%(cpp_cpu_default)}}}}}"
  
  #ifndef CC1_SPEC
  #define CC1_SPEC "%(cc1_cpu) "
--- 609,614 ----
*************** extern int x86_prefetch_sse;
*** 621,628 ****
  #endif
  
  #define EXTRA_SPECS							\
-   { "cpp_cpu_default",	CPP_CPU_DEFAULT_SPEC },				\
-   { "cpp_cpu",	CPP_CPU_SPEC },						\
    { "cc1_cpu",  CC1_CPU_SPEC },						\
    SUBTARGET_EXTRA_SPECS
  
--- 629,634 ----
============================================================
Index: gcc/config/i386/i386elf.h
*** i386elf.h	3 Apr 2002 03:47:39 -0000	1.22
--- gcc/config/i386/i386elf.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 45,51 ****
  #define CPP_PREDEFINES ""
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu)"
  
  #define ENDFILE_SPEC "crtend.o%s"
  
--- 45,51 ----
  #define CPP_PREDEFINES ""
  
  #undef CPP_SPEC
! #define CPP_SPEC ""
  
  #define ENDFILE_SPEC "crtend.o%s"
  
============================================================
Index: gcc/config/i386/linux-aout.h
*** linux-aout.h	15 Apr 2002 20:35:12 -0000	1.10
--- gcc/config/i386/linux-aout.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 29,35 ****
  #define CPP_PREDEFINES "-Dunix -D__gnu_linux__ -Dlinux -Asystem=posix"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
  
  #undef SIZE_TYPE
  #define SIZE_TYPE "unsigned int"
--- 29,35 ----
  #define CPP_PREDEFINES "-Dunix -D__gnu_linux__ -Dlinux -Asystem=posix"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
  
  #undef SIZE_TYPE
  #define SIZE_TYPE "unsigned int"
============================================================
Index: gcc/config/i386/linux.h
*** linux.h	30 May 2002 21:01:16 -0000	1.38
--- gcc/config/i386/linux.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 85,93 ****
  
  #undef CPP_SPEC
  #ifdef USE_GNULIBC_1
! #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
  #else
! #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
  #endif
  
  #undef CC1_SPEC
--- 85,93 ----
  
  #undef CPP_SPEC
  #ifdef USE_GNULIBC_1
! #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE}"
  #else
! #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
  #endif
  
  #undef CC1_SPEC
============================================================
Index: gcc/config/i386/linux64.h
*** linux64.h	27 May 2002 14:01:40 -0000	1.11
--- gcc/config/i386/linux64.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 27,33 ****
  #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem(posix)"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{!m32:-D__LONG_MAX__=9223372036854775807L}"
  
  /* Provide a LINK_SPEC.  Here we provide support for the special GCC
     options -static and -shared, which allow us to link things in one
--- 27,33 ----
  #define CPP_PREDEFINES "-D__ELF__ -Dunix -D__gnu_linux__ -Dlinux -Asystem(posix)"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__ -D__pic__} %{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT} %{!m32:-D__LONG_MAX__=9223372036854775807L}"
  
  /* Provide a LINK_SPEC.  Here we provide support for the special GCC
     options -static and -shared, which allow us to link things in one
============================================================
Index: gcc/config/i386/mingw32.h
*** mingw32.h	24 May 2002 02:54:07 -0000	1.25
--- gcc/config/i386/mingw32.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 48,54 ****
  
  #undef CPP_SPEC
  #define CPP_SPEC \
!   "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} \
    -D__stdcall=__attribute__((__stdcall__)) \
    -D__cdecl=__attribute__((__cdecl__)) \
    %{!ansi:-D_stdcall=__attribute__((__stdcall__)) \
--- 48,54 ----
  
  #undef CPP_SPEC
  #define CPP_SPEC \
!   "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} \
    -D__stdcall=__attribute__((__stdcall__)) \
    -D__cdecl=__attribute__((__cdecl__)) \
    %{!ansi:-D_stdcall=__attribute__((__stdcall__)) \
============================================================
Index: gcc/config/i386/netbsd-elf.h
*** netbsd-elf.h	29 May 2002 17:57:55 -0000	1.12
--- gcc/config/i386/netbsd-elf.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 52,58 ****
  /* Provide a CPP_SPEC appropriate for NetBSD.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %(netbsd_cpp_spec)"
  
  
  /* Make gcc agree with <machine/ansi.h> */
--- 52,58 ----
  /* Provide a CPP_SPEC appropriate for NetBSD.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(netbsd_cpp_spec)"
  
  
  /* Make gcc agree with <machine/ansi.h> */
============================================================
Index: gcc/config/i386/netbsd.h
*** netbsd.h	29 May 2002 17:57:55 -0000	1.23
--- gcc/config/i386/netbsd.h	4 Jun 2002 08:56:05 -0000
***************
*** 17,23 ****
    { "netbsd_cpp_spec", NETBSD_CPP_SPEC },
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %(netbsd_cpp_spec)"
  
  
  #undef SIZE_TYPE
--- 17,23 ----
    { "netbsd_cpp_spec", NETBSD_CPP_SPEC },
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(netbsd_cpp_spec)"
  
  
  #undef SIZE_TYPE
============================================================
Index: gcc/config/i386/netbsd64.h
*** netbsd64.h	29 May 2002 17:57:55 -0000	1.4
--- gcc/config/i386/netbsd64.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 56,62 ****
  /* Provide a CPP_SPEC appropriate for NetBSD.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %(netbsd_cpp_spec)"
  
  
  /* Output assembler code to FILE to call the profiler.  */
--- 56,62 ----
  /* Provide a CPP_SPEC appropriate for NetBSD.  */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(netbsd_cpp_spec)"
  
  
  /* Output assembler code to FILE to call the profiler.  */
============================================================
Index: gcc/config/i386/rtemself.h
*** rtemself.h	12 Apr 2002 13:34:51 -0000	1.14
--- gcc/config/i386/rtemself.h	4 Jun 2002 08:56:05 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 28,31 ****
      -D__ELF__ -D__i386__ -D__USE_INIT_FINI__"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{msoft-float:-D_SOFT_FLOAT}"
--- 28,31 ----
      -D__ELF__ -D__i386__ -D__USE_INIT_FINI__"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{msoft-float:-D_SOFT_FLOAT}"
============================================================
Index: gcc/config/i386/sco5.h
*** sco5.h	18 May 2002 23:47:13 -0000	1.65
--- gcc/config/i386/sco5.h	4 Jun 2002 08:56:06 -0000
*************** init_section ()								\
*** 641,647 ****
  /* You are in a maze of GCC specs ... all alike */
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) \
    %{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 \
--- 641,647 ----
  /* You are in a maze of GCC specs ... all alike */
  
  #undef CPP_SPEC
! #define CPP_SPEC "\
    %{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 \
============================================================
Index: gcc/config/i386/sol2.h
*** sol2.h	22 Mar 2002 22:51:43 -0000	1.23
--- gcc/config/i386/sol2.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 85,91 ****
  #undef CPP_SPEC
  #define CPP_SPEC \
    "%{.S:-P} \
-    %(cpp_cpu) \
     %{pthreads:-D_REENTRANT -D_PTHREADS} \
     %{!pthreads:%{threads:-D_REENTRANT -D_SOLARIS_THREADS}} \
     %{compat-bsd:-iwithprefixbefore ucbinclude -I/usr/ucbinclude}"
--- 85,90 ----
============================================================
Index: gcc/config/i386/sysv3.h
*** sysv3.h	3 Apr 2002 03:47:42 -0000	1.8
--- gcc/config/i386/sysv3.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 34,40 ****
  
  #define CPP_PREDEFINES "-Dunix -Asystem=svr3"
  
! #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE}"
  
  /* Writing `int' for a bitfield forces int alignment for the structure.  */
  
--- 34,40 ----
  
  #define CPP_PREDEFINES "-Dunix -Asystem=svr3"
  
! #define CPP_SPEC "%{posix:-D_POSIX_SOURCE}"
  
  /* Writing `int' for a bitfield forces int alignment for the structure.  */
  
============================================================
Index: gcc/config/i386/sysv4.h
*** sysv4.h	3 Apr 2002 03:47:42 -0000	1.21
--- gcc/config/i386/sysv4.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 142,145 ****
  #endif
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu)"
--- 142,145 ----
  #endif
  
  #undef CPP_SPEC
! #define CPP_SPEC ""
============================================================
Index: gcc/config/i386/sysv5.h
*** sysv5.h	19 Oct 2001 22:27:28 -0000	1.5
--- gcc/config/i386/sysv5.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 31,34 ****
  	%{!shared:%{!symbolic:-lc -lcrt}}"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{pthread:-D_REENTRANT} %{pthreadT:-D_REENTRANT}"
--- 31,34 ----
  	%{!shared:%{!symbolic:-lc -lcrt}}"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{pthread:-D_REENTRANT} %{pthreadT:-D_REENTRANT}"
============================================================
Index: gcc/config/i386/uwin.h
*** uwin.h	3 Apr 2002 03:47:42 -0000	1.10
--- gcc/config/i386/uwin.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 42,48 ****
    -Asystem=winnt"
  
  #undef CPP_SPEC
! #define CPP_SPEC "-remap %(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
    -include /usr/include/astwin32.h \
    -idirafter /usr/gnu/include/mingw32"
  
--- 42,48 ----
    -Asystem=winnt"
  
  #undef CPP_SPEC
! #define CPP_SPEC "-remap %{posix:-D_POSIX_SOURCE} \
    -include /usr/include/astwin32.h \
    -idirafter /usr/gnu/include/mingw32"
  
============================================================
Index: gcc/config/i386/vxi386.h
*** vxi386.h	3 Apr 2002 03:47:42 -0000	1.7
--- gcc/config/i386/vxi386.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 36,42 ****
   %{mcpu=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \
   %{mpentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
   %{mcpu=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
!  %{!mcpu*:%{!m486:%{!mpentium*:-DCPU=I80386 %(cpp_cpu_default)}}}}"
  
  #define HANDLE_SYSV_PRAGMA
  
--- 36,42 ----
   %{mcpu=pentium:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUM %(cpp_586)} \
   %{mpentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
   %{mcpu=pentiumpro:-DCPU=PENTIUM -DCPU_VARIANT=PENTIUMPRO %(cpp_686)} \
!  %{!mcpu*:%{!m486:%{!mpentium*:-DCPU=I80386}}}}"
  
  #define HANDLE_SYSV_PRAGMA
  
============================================================
Index: gcc/config/i386/win32.h
*** win32.h	19 May 2002 07:55:34 -0000	1.27
--- gcc/config/i386/win32.h	4 Jun 2002 08:56:06 -0000
*************** Boston, MA 02111-1307, USA.  */
*** 74,80 ****
                          %{mcygwin:crt0%O%s} %{pg:gcrt0%O%s}}"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%(cpp_cpu) %{posix:-D_POSIX_SOURCE} \
    %{!mcygwin:-iwithprefixbefore include/mingw32 -D__MINGW32__}    \
    %{mcygwin:-D__CYGWIN32__ -D__CYGWIN__}"
  
--- 74,80 ----
                          %{mcygwin:crt0%O%s} %{pg:gcrt0%O%s}}"
  
  #undef CPP_SPEC
! #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} \
    %{!mcygwin:-iwithprefixbefore include/mingw32 -D__MINGW32__}    \
    %{mcygwin:-D__CYGWIN32__ -D__CYGWIN__}"
  



More information about the Gcc-patches mailing list