From 11ec95b949e7d7f0262321ce13c6b5243a5bdf3d Mon Sep 17 00:00:00 2001
From: Makoto Kato <m_kato@ga2.so-net.ne.jp>
Date: Sat, 16 May 2015 11:10:20 +0900
Subject: [PATCH] Support Android/x86 for liblibc

All types are same as Android/arm.  So I add condition for Android/x86
---
 src/liblibc/lib.rs | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/src/liblibc/lib.rs b/src/liblibc/lib.rs
index 69ab34fee5a..4281635c99d 100644
--- a/src/liblibc/lib.rs
+++ b/src/liblibc/lib.rs
@@ -432,12 +432,12 @@ pub mod types {
                 pub type intmax_t = i64;
                 pub type uintmax_t = u64;
             }
-            #[cfg(any(target_arch = "x86",
-                      target_arch = "mips",
+            #[cfg(any(target_arch = "mips",
                       target_arch = "mipsel",
                       target_arch = "powerpc",
                       target_arch = "le32",
-                      all(target_arch = "arm", not(target_os = "android"))))]
+                      all(any(target_arch = "arm", target_arch = "x86"),
+                          not(target_os = "android"))))]
             pub mod posix88 {
                 pub type off_t = i32;
                 pub type dev_t = u64;
@@ -449,7 +449,8 @@ pub mod types {
                 pub type mode_t = u32;
                 pub type ssize_t = i32;
             }
-            #[cfg(all(target_arch = "arm", target_os = "android"))]
+            #[cfg(all(any(target_arch = "arm", target_arch = "x86"),
+                      target_os = "android"))]
             pub mod posix88 {
                 pub type off_t = i32;
                 pub type dev_t = u32;
@@ -464,7 +465,8 @@ pub mod types {
             #[cfg(any(target_arch = "x86",
                       target_arch = "le32",
                       target_arch = "powerpc",
-                      all(target_arch = "arm", not(target_os = "android"))))]
+                      all(any(target_arch = "arm", target_arch = "x86"),
+                          not(target_os = "android"))))]
             pub mod posix01 {
                 use types::os::arch::c95::{c_short, c_long, time_t};
                 use types::os::arch::posix88::{dev_t, gid_t, ino_t};
@@ -510,7 +512,8 @@ pub mod types {
                     pub __size: [u32; 9]
                 }
             }
-            #[cfg(all(target_arch = "arm", target_os = "android"))]
+            #[cfg(all(any(target_arch = "arm", target_arch = "x86"),
+                          target_os = "android"))]
             pub mod posix01 {
                 use types::os::arch::c95::{c_uchar, c_uint, c_ulong, time_t};
                 use types::os::arch::c99::{c_longlong, c_ulonglong};
@@ -5905,13 +5908,15 @@ pub mod funcs {
             use types::os::arch::c95::c_int;
             use types::os::common::posix01::sighandler_t;
 
-            #[cfg(not(all(target_os = "android", target_arch = "arm")))]
+            #[cfg(not(all(target_os = "android", any(target_arch = "arm",
+                                                     target_arch = "x86"))))]
             extern {
                 pub fn signal(signum: c_int,
                               handler: sighandler_t) -> sighandler_t;
             }
 
-            #[cfg(all(target_os = "android", target_arch = "arm"))]
+            #[cfg(all(target_os = "android", any(target_arch = "arm",
+                                                 target_arch = "x86")))]
             extern {
                 #[link_name = "bsd_signal"]
                 pub fn signal(signum: c_int,