diff mbox

PR bootstrap/47147 - fix stddef.h for NetBSD

Message ID AANLkTi=n7vsYVTHLdMSQyzGpOrbxrQ5aESdwcU8gg3aN@mail.gmail.com
State New
Headers show

Commit Message

Jonathan Wakely Jan. 19, 2011, 9:03 a.m. UTC
pinging for review

Recent versions of NetBSD cannot build GCC on x86 without either this
fix, or a change to use the system stddef.h and ignore GCC's one, such
as
http://gcc.gnu.org/ml/gcc-help/2011-01/msg00172.html


On 13 January 2011 20:39, Jonathan Wakely wrote:
> This patch allows a bootstrap to complete on x86_64-unknown-netbsd5.99.43
>
> 2011-01-13  Jonathan Wakely  <jwakely.gcc@gmail.com>
>
>        PR bootstrap/47147
>        * ginclude/stddef.h: Check for _X86_64_ANSI_H_ and _I386_ANSI_H_ as
>        used by NetBSD.
>
> bootstrapped on x86_64-netbsd
>
> tested on x86_64-linux
>
> ok for trunk?
>
diff mbox

Patch

Index: ginclude/stddef.h
===================================================================
--- ginclude/stddef.h	(revision 168732)
+++ ginclude/stddef.h	(working copy)
@@ -61,8 +61,9 @@  see the files COPYING3 and COPYING.RUNTI
 
 /* In 4.3bsd-net2, machine/ansi.h defines these symbols, which are
    defined if the corresponding type is *not* defined.
-   FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_ */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_)
+   FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_.
+   NetBSD defines _I386_ANSI_H_ and _X86_64_ANSI_H_ instead of _ANSI_H_ */
+#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_)  || defined(_I386_ANSI_H_)
 #if !defined(_SIZE_T_) && !defined(_BSD_SIZE_T_)
 #define _SIZE_T
 #endif
@@ -89,7 +90,7 @@  see the files COPYING3 and COPYING.RUNTI
 #undef _WCHAR_T_
 #undef _BSD_WCHAR_T_
 #endif
-#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) */
+#endif /* defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_) */
 
 /* Sequent's header files use _PTRDIFF_T_ in some conflicting way.
    Just ignore it.  */
@@ -357,7 +358,8 @@  typedef __WINT_TYPE__ wint_t;
 /*  In 4.3bsd-net2, leave these undefined to indicate that size_t, etc.
     are already defined.  */
 /*  BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here.  */
-#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_)
+/*  NetBSD 5 requires the I386_ANSI_H and X86_64_ANSI_H checks here.  */
+#if defined(_ANSI_H_) || defined(_MACHINE_ANSI_H_) || defined(_X86_64_ANSI_H_) || defined(_I386_ANSI_H_)
 /*  The references to _GCC_PTRDIFF_T_, _GCC_SIZE_T_, and _GCC_WCHAR_T_
     are probably typos and should be removed before 2.8 is released.  */
 #ifdef _GCC_PTRDIFF_T_
@@ -385,7 +387,7 @@  typedef __WINT_TYPE__ wint_t;
 #undef _WCHAR_T_
 #undef _BSD_WCHAR_T_
 #endif
-#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ */
+#endif /* _ANSI_H_ || _MACHINE_ANSI_H_ || _X86_64_ANSI_H_ || _I386_ANSI_H_ */
 
 #endif /* __sys_stdtypes_h */