about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorSteve Klabnik <steve@steveklabnik.com>2015-06-05 11:20:28 +0200
committerSteve Klabnik <steve@steveklabnik.com>2015-06-05 11:20:28 +0200
commit0571726d90bf5e91050bb0de13dc50d49bcb13bd (patch)
tree2ec9af7365176dfc8d5976c2d7484448d2191181 /src/libstd
parent2bcb07933f0ab2276859335436b136a790adf8cd (diff)
parent62f66a68da668e2e11758168036f22e6538a5831 (diff)
downloadrust-0571726d90bf5e91050bb0de13dc50d49bcb13bd.tar.gz
rust-0571726d90bf5e91050bb0de13dc50d49bcb13bd.zip
Rollup merge of #26001 - sae-bom:master, r=alexcrichton
fixed build fail on aarch64-android
by support aarch64-android raw type definitions

Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/os/android/raw.rs115
1 files changed, 82 insertions, 33 deletions
diff --git a/src/libstd/os/android/raw.rs b/src/libstd/os/android/raw.rs
index 538ed7c4688..ea80151623b 100644
--- a/src/libstd/os/android/raw.rs
+++ b/src/libstd/os/android/raw.rs
@@ -10,37 +10,86 @@
 
 //! Android-specific raw type definitions
 
-use os::raw::{c_uint, c_uchar, c_ulonglong, c_longlong, c_ulong};
-use os::unix::raw::{uid_t, gid_t};
-
-pub type blkcnt_t = u32;
-pub type blksize_t = u32;
-pub type dev_t = u32;
-pub type ino_t = u32;
-pub type mode_t = u16;
-pub type nlink_t = u16;
-pub type off_t = i32;
-pub type time_t = i32;
-
-#[repr(C)]
-pub struct stat {
-    pub st_dev: c_ulonglong,
-    pub __pad0: [c_uchar; 4],
-    pub __st_ino: ino_t,
-    pub st_mode: c_uint,
-    pub st_nlink: c_uint,
-    pub st_uid: uid_t,
-    pub st_gid: gid_t,
-    pub st_rdev: c_ulonglong,
-    pub __pad3: [c_uchar; 4],
-    pub st_size: c_longlong,
-    pub st_blksize: blksize_t,
-    pub st_blocks: c_ulonglong,
-    pub st_atime: time_t,
-    pub st_atime_nsec: c_ulong,
-    pub st_mtime: time_t,
-    pub st_mtime_nsec: c_ulong,
-    pub st_ctime: time_t,
-    pub st_ctime_nsec: c_ulong,
-    pub st_ino: c_ulonglong,
+#[doc(inline)]
+pub use self::arch::{dev_t, mode_t, blkcnt_t, blksize_t, ino_t, nlink_t, off_t, stat, time_t};
+
+#[cfg(target_arch = "arm")]
+mod arch {
+    use os::raw::{c_uint, c_uchar, c_ulonglong, c_longlong, c_ulong};
+    use os::unix::raw::{uid_t, gid_t};
+
+    pub type dev_t = u32;
+    pub type mode_t = u16;
+
+    pub type blkcnt_t = u32;
+    pub type blksize_t = u32;
+    pub type ino_t = u32;
+    pub type nlink_t = u16;
+    pub type off_t = i32;
+    pub type time_t = i32;
+
+    #[repr(C)]
+    pub struct stat {
+        pub st_dev: c_ulonglong,
+        pub __pad0: [c_uchar; 4],
+        pub __st_ino: ino_t,
+        pub st_mode: c_uint,
+        pub st_nlink: c_uint,
+        pub st_uid: uid_t,
+        pub st_gid: gid_t,
+        pub st_rdev: c_ulonglong,
+        pub __pad3: [c_uchar; 4],
+        pub st_size: c_longlong,
+        pub st_blksize: blksize_t,
+        pub st_blocks: c_ulonglong,
+        pub st_atime: time_t,
+        pub st_atime_nsec: c_ulong,
+        pub st_mtime: time_t,
+        pub st_mtime_nsec: c_ulong,
+        pub st_ctime: time_t,
+        pub st_ctime_nsec: c_ulong,
+        pub st_ino: c_ulonglong,
+    }
+
+}
+
+
+#[cfg(target_arch = "aarch64")]
+mod arch {
+    use os::raw::{c_uchar, c_ulong};
+    use os::unix::raw::{uid_t, gid_t};
+
+    pub type dev_t = u64;
+    pub type mode_t = u32;
+
+    pub type blkcnt_t = u64;
+    pub type blksize_t = u32;
+    pub type ino_t = u64;
+    pub type nlink_t = u32;
+    pub type off_t = i64;
+    pub type time_t = i64;
+
+    #[repr(C)]
+    pub struct stat {
+        pub st_dev: dev_t,
+        pub __pad0: [c_uchar; 4],
+        pub __st_ino: ino_t,
+        pub st_mode: mode_t,
+        pub st_nlink: nlink_t,
+        pub st_uid: uid_t,
+        pub st_gid: gid_t,
+        pub st_rdev: dev_t,
+        pub __pad3: [c_uchar; 4],
+        pub st_size: off_t,
+        pub st_blksize: blksize_t,
+        pub st_blocks: blkcnt_t,
+        pub st_atime: time_t,
+        pub st_atime_nsec: c_ulong,
+        pub st_mtime: time_t,
+        pub st_mtime_nsec: c_ulong,
+        pub st_ctime: time_t,
+        pub st_ctime_nsec: c_ulong,
+        pub st_ino: ino_t,
+    }
+
 }