Patchwork PR bootstrap/47147 - fix stddef.h for NetBSD

login
register
mail settings
Submitter Jonathan Wakely
Date Jan. 13, 2011, 8:39 p.m.
Message ID <AANLkTi=7gGYbJLGEom6HsGDzY56yX0vVTtPNVN5pi+2U@mail.gmail.com>
Download mbox | patch
Permalink /patch/78810/
State New
Headers show

Comments

Jonathan Wakely - Jan. 13, 2011, 8:39 p.m.
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?
Ian Taylor - Jan. 28, 2011, 3:55 p.m.
On Thu, Jan 13, 2011 at 12:39 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:

> 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.

This is OK.

Thanks.

Ian

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 */