"I'll think about it" != "apply it now". It means I need to think about it.
[oweals/busybox.git] / include / platform.h
index 8890d4ffd06c7eabcb9946425c7474885691df7a..91f43f30b468db46f58ea8e6f7e34932e33a0e82 100644 (file)
@@ -11,7 +11,7 @@
 #undef __GNUC_PREREQ
 #if defined __GNUC__ && defined __GNUC_MINOR__
 # define __GNUC_PREREQ(maj, min) \
-               ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+               ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
 #else
 # define __GNUC_PREREQ(maj, min) 0
 #endif
 # endif
 #endif
 
+/* gcc-2.95 had no va_copy but only __va_copy. */
+#if !__GNUC_PREREQ (3,0)
+# include <stdarg.h>
+# if !defined va_copy && defined __va_copy
+#  define va_copy(d,s) __va_copy((d),(s))
+# endif
+#endif
+
 /* ---- Endian Detection ------------------------------------ */
 
 #if (defined __digital__ && defined __unix__)
@@ -228,6 +236,35 @@ typedef unsigned long long int  uintmax_t;
 
 #if defined(__linux__)
 #include <sys/mount.h>
+// Make sure we have all the new mount flags we actually try to use.
+#ifndef MS_BIND
+#define MS_BIND        (1<<12)
+#endif
+#ifndef MS_MOVE
+#define MS_MOVE        (1<<13)
+#endif
+#ifndef MS_RECURSIVE
+#define MS_RECURSIVE   (1<<14)
+#endif
+#ifndef MS_SILENT
+#define MS_SILENT      (1<<15)
+#endif
+
+// The shared subtree stuff, which went in around 2.6.15
+#ifndef MS_UNBINDABLE
+#define MS_UNBINDABLE  (1<<17)
+#endif
+#ifndef MS_PRIVATE
+#define MS_PRIVATE     (1<<18)
+#endif
+#ifndef MS_SLAVE
+#define MS_SLAVE       (1<<19)
+#endif
+#ifndef MS_SHARED
+#define MS_SHARED      (1<<20)
+#endif
+
+
 #if !defined(BLKSSZGET)
 #define BLKSSZGET _IO(0x12, 104)
 #endif