Commit 866f73af914ba72815cb94d6c42ba4620fb22350

Guillem Jover 2012-01-03T05:39:22

Move overlay inclusions outside of header protection Glibc tends to include standard headers with special definitions that make few declarations or macros visible, this stomps over the overlay #include_next <> logic. Based-on-patch-by: Robert Millan <rmh@debian.org>

diff --git a/include/bsd/err.h b/include/bsd/err.h
index def4ac3..11d1250 100644
--- a/include/bsd/err.h
+++ b/include/bsd/err.h
@@ -25,6 +25,12 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifdef LIBBSD_OVERLAY
+#include_next <err.h>
+#else
+#include <err.h>
+#endif
+
 #ifndef LIBBSD_ERR_H
 #define LIBBSD_ERR_H
 
@@ -32,12 +38,6 @@
 
 #include <stdarg.h>
 
-#ifdef LIBBSD_OVERLAY
-#include_next <err.h>
-#else
-#include <err.h>
-#endif
-
 __BEGIN_DECLS
 extern void warnc (int code, const char *format, ...);
 extern void vwarnc (int code, const char *format, va_list ap);
diff --git a/include/bsd/getopt.h b/include/bsd/getopt.h
index 52a8f9c..9fb2e7e 100644
--- a/include/bsd/getopt.h
+++ b/include/bsd/getopt.h
@@ -24,9 +24,6 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_GETOPT_H
-#define LIBBSD_GETOPT_H
-
 #ifdef LIBBSD_OVERLAY
 #include_next <getopt.h>
 #include <unistd.h>
@@ -34,5 +31,3 @@
 #include <getopt.h>
 #include <bsd/unistd.h>
 #endif
-
-#endif
diff --git a/include/bsd/stdio.h b/include/bsd/stdio.h
index db2823e..22e9d2c 100644
--- a/include/bsd/stdio.h
+++ b/include/bsd/stdio.h
@@ -24,18 +24,18 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_STDIO_H
-#define LIBBSD_STDIO_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
 #ifdef LIBBSD_OVERLAY
 #include_next <stdio.h>
 #else
 #include <stdio.h>
 #endif
 
+#ifndef LIBBSD_STDIO_H
+#define LIBBSD_STDIO_H
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
 __BEGIN_DECLS
 const char *fmtcheck(const char *, const char *);
 
diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
index 5253183..5448011 100644
--- a/include/bsd/stdlib.h
+++ b/include/bsd/stdlib.h
@@ -26,13 +26,6 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_STDLIB_H
-#define LIBBSD_STDLIB_H
-
-#include <sys/cdefs.h>
-#include <sys/stat.h>
-#include <stdint.h>
-
 #ifdef LIBBSD_OVERLAY
 #include_next <stdlib.h>
 #else
@@ -46,6 +39,13 @@
 #include <bsd/libutil.h>
 #endif
 
+#ifndef LIBBSD_STDLIB_H
+#define LIBBSD_STDLIB_H
+
+#include <sys/cdefs.h>
+#include <sys/stat.h>
+#include <stdint.h>
+
 __BEGIN_DECLS
 u_int32_t arc4random();
 void arc4random_stir();
diff --git a/include/bsd/string.h b/include/bsd/string.h
index be811f3..ac2a5a5 100644
--- a/include/bsd/string.h
+++ b/include/bsd/string.h
@@ -24,18 +24,18 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_STRING_H
-#define LIBBSD_STRING_H
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-
 #ifdef LIBBSD_OVERLAY
 #include_next <string.h>
 #else
 #include <string.h>
 #endif
 
+#ifndef LIBBSD_STRING_H
+#define LIBBSD_STRING_H
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
 __BEGIN_DECLS
 size_t strlcpy(char *dst, const char *src, size_t siz);
 size_t strlcat(char *dst, const char *src, size_t siz);
diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h
index 90b34c1..49bbeb5 100644
--- a/include/bsd/sys/cdefs.h
+++ b/include/bsd/sys/cdefs.h
@@ -24,15 +24,15 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_SYS_CDEFS_H
-#define LIBBSD_SYS_CDEFS_H
-
 #ifdef LIBBSD_OVERLAY
 #include_next <sys/cdefs.h>
 #else
 #include <sys/cdefs.h>
 #endif
 
+#ifndef LIBBSD_SYS_CDEFS_H
+#define LIBBSD_SYS_CDEFS_H
+
 /*
  * Some kFreeBSD headers expect those macros to be set for sanity checks.
  */
diff --git a/include/bsd/sys/endian.h b/include/bsd/sys/endian.h
index cf8c884..3506cee 100644
--- a/include/bsd/sys/endian.h
+++ b/include/bsd/sys/endian.h
@@ -24,15 +24,15 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_SYS_ENDIAN_H
-#define LIBBSD_SYS_ENDIAN_H
-
 #ifdef LIBBSD_OVERLAY
 #include_next <endian.h>
 #else
 #include <endian.h>
 #endif
 
+#ifndef LIBBSD_SYS_ENDIAN_H
+#define LIBBSD_SYS_ENDIAN_H
+
 #ifndef _BYTE_ORDER
 #define _BYTE_ORDER __BYTE_ORDER
 #endif
diff --git a/include/bsd/sys/poll.h b/include/bsd/sys/poll.h
index 227effa..0e34103 100644
--- a/include/bsd/sys/poll.h
+++ b/include/bsd/sys/poll.h
@@ -24,15 +24,15 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_SYS_POLL_H
-#define LIBBSD_SYS_POLL_H
-
 #ifdef LIBBSD_OVERLAY
 #include_next <sys/poll.h>
 #else
 #include <sys/poll.h>
 #endif
 
+#ifndef LIBBSD_SYS_POLL_H
+#define LIBBSD_SYS_POLL_H
+
 #ifndef INFTIM
 #define INFTIM (-1)
 #endif
diff --git a/include/bsd/unistd.h b/include/bsd/unistd.h
index 713a8d7..e576b89 100644
--- a/include/bsd/unistd.h
+++ b/include/bsd/unistd.h
@@ -25,18 +25,18 @@
  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-#ifndef LIBBSD_UNISTD_H
-#define LIBBSD_UNISTD_H
-
-#include <sys/cdefs.h>
-#include <sys/stat.h>
-
 #ifdef LIBBSD_OVERLAY
 #include_next <unistd.h>
 #else
 #include <unistd.h>
 #endif
 
+#ifndef LIBBSD_UNISTD_H
+#define LIBBSD_UNISTD_H
+
+#include <sys/cdefs.h>
+#include <sys/stat.h>
+
 #ifndef S_ISTXT
 #define S_ISTXT S_ISVTX
 #endif