merge in honeycomb-mr1-release history after reset to master
diff --git a/include/arch/darwin-x86/AndroidConfig.h b/include/arch/darwin-x86/AndroidConfig.h
index c8ccc7e..d99072a 100644
--- a/include/arch/darwin-x86/AndroidConfig.h
+++ b/include/arch/darwin-x86/AndroidConfig.h
@@ -305,4 +305,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /*_ANDROID_CONFIG_H*/
diff --git a/include/arch/freebsd-x86/AndroidConfig.h b/include/arch/freebsd-x86/AndroidConfig.h
index d828bd5..9703c76 100644
--- a/include/arch/freebsd-x86/AndroidConfig.h
+++ b/include/arch/freebsd-x86/AndroidConfig.h
@@ -363,4 +363,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /*_ANDROID_CONFIG_H*/
diff --git a/include/arch/linux-arm/AndroidConfig.h b/include/arch/linux-arm/AndroidConfig.h
index 83891cd..5138d90 100644
--- a/include/arch/linux-arm/AndroidConfig.h
+++ b/include/arch/linux-arm/AndroidConfig.h
@@ -361,4 +361,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /* _ANDROID_CONFIG_H */
diff --git a/include/arch/linux-ppc/AndroidConfig.h b/include/arch/linux-ppc/AndroidConfig.h
index 00706dc..60bddd6 100644
--- a/include/arch/linux-ppc/AndroidConfig.h
+++ b/include/arch/linux-ppc/AndroidConfig.h
@@ -323,4 +323,12 @@
  */
 #define HAVE_PREAD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /*_ANDROID_CONFIG_H*/
diff --git a/include/arch/linux-sh/AndroidConfig.h b/include/arch/linux-sh/AndroidConfig.h
index 5562eae..9303bb6 100644
--- a/include/arch/linux-sh/AndroidConfig.h
+++ b/include/arch/linux-sh/AndroidConfig.h
@@ -366,4 +366,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /* _ANDROID_CONFIG_H */
diff --git a/include/arch/linux-x86/AndroidConfig.h b/include/arch/linux-x86/AndroidConfig.h
index 7dcaa98..6fd26ea 100644
--- a/include/arch/linux-x86/AndroidConfig.h
+++ b/include/arch/linux-x86/AndroidConfig.h
@@ -333,4 +333,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /*_ANDROID_CONFIG_H*/
diff --git a/include/arch/target_linux-x86/AndroidConfig.h b/include/arch/target_linux-x86/AndroidConfig.h
index 05dd220..a6f7090 100644
--- a/include/arch/target_linux-x86/AndroidConfig.h
+++ b/include/arch/target_linux-x86/AndroidConfig.h
@@ -350,4 +350,12 @@
  */
 #define HAVE_PRINTF_ZD 1
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * Most systems lack (and actually don't need) this flag.
+ */
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
 #endif /* _ANDROID_CONFIG_H */
diff --git a/include/arch/windows/AndroidConfig.h b/include/arch/windows/AndroidConfig.h
index ad890b4..8a7e062 100644
--- a/include/arch/windows/AndroidConfig.h
+++ b/include/arch/windows/AndroidConfig.h
@@ -338,4 +338,10 @@
  */
 /* #define HAVE_PRINTF_ZD 1 */
 
+/*
+ * We need to open binary files using O_BINARY on Windows.
+ * We don't define it on Windows since it is part of the io headers.
+ */
+/* #define O_BINARY 0 */
+
 #endif /*_ANDROID_CONFIG_H*/
diff --git a/include/private/android_filesystem_config.h b/include/private/android_filesystem_config.h
index 3194bde..1db8065 100644
--- a/include/private/android_filesystem_config.h
+++ b/include/private/android_filesystem_config.h
@@ -202,6 +202,7 @@
 		 * in user builds. */
     { 06750, AID_ROOT,      AID_SHELL,     "system/bin/run-as" },
     { 00755, AID_ROOT,      AID_SHELL,     "system/bin/*" },
+    { 00755, AID_ROOT,      AID_ROOT,      "system/lib/valgrind/*" },
     { 00755, AID_ROOT,      AID_SHELL,     "system/xbin/*" },
     { 00755, AID_ROOT,      AID_SHELL,     "system/vendor/bin/*" },
     { 00750, AID_ROOT,      AID_SHELL,     "sbin/*" },
diff --git a/init/property_service.c b/init/property_service.c
index 0bd2597..fdfec43 100644
--- a/init/property_service.c
+++ b/init/property_service.c
@@ -61,6 +61,7 @@
     { "net.rmnet0.",      AID_RADIO,    0 },
     { "net.gprs.",        AID_RADIO,    0 },
     { "net.ppp",          AID_RADIO,    0 },
+    { "net.qmi",          AID_RADIO,    0 },
     { "ril.",             AID_RADIO,    0 },
     { "gsm.",             AID_RADIO,    0 },
     { "persist.radio",    AID_RADIO,    0 },
diff --git a/rootdir/Android.mk b/rootdir/Android.mk
index 380bb60..1a9e06f 100644
--- a/rootdir/Android.mk
+++ b/rootdir/Android.mk
@@ -11,6 +11,10 @@
 copy_from += etc/vold.fstab
 endif
 
+ifeq ($(TARGET_PRODUCT),full_x86)
+copy_from += etc/vold.fstab
+endif
+
 # the /system/etc/init.goldfish.sh is needed to enable emulator support
 # in the system image. In theory, we don't need these for -user builds
 # which are device-specific. However, these builds require at the moment