about summary refs log tree commit diff
path: root/src/libstd/os
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2015-11-26 19:05:10 +0000
committerBrian Anderson <banderson@mozilla.com>2016-02-06 20:56:14 +0000
commitd6c0d859f6d859aa6e418b5ec58246071efbc9de (patch)
tree0faba720f79f5047f27173e7173501b104503903 /src/libstd/os
parent34af2de4096b3b1c5d3a5b70171c6e27822aaefb (diff)
downloadrust-d6c0d859f6d859aa6e418b5ec58246071efbc9de.tar.gz
rust-d6c0d859f6d859aa6e418b5ec58246071efbc9de.zip
Add the asmjs-unknown-emscripten triple. Add cfgs to libs.
Backtraces, and the compilation of libbacktrace for asmjs, are disabled.

This port doesn't use jemalloc so, like pnacl, it disables jemalloc *for all targets*
in the configure file.

It disables stack protection.
Diffstat (limited to 'src/libstd/os')
-rw-r--r--src/libstd/os/linux/raw.rs12
-rw-r--r--src/libstd/os/mod.rs5
-rw-r--r--src/libstd/os/raw.rs2
3 files changed, 17 insertions, 2 deletions
diff --git a/src/libstd/os/linux/raw.rs b/src/libstd/os/linux/raw.rs
index cc7fa23546b..10d37f9f597 100644
--- a/src/libstd/os/linux/raw.rs
+++ b/src/libstd/os/linux/raw.rs
@@ -26,7 +26,8 @@ pub use self::arch::{off_t, ino_t, nlink_t, blksize_t, blkcnt_t, stat, time_t};
 #[cfg(any(target_arch = "x86",
           target_arch = "le32",
           target_arch = "powerpc",
-          target_arch = "arm"))]
+          target_arch = "arm",
+          target_arch = "asmjs"))]
 mod arch {
     use super::{dev_t, mode_t};
     use os::raw::{c_long, c_short};
@@ -34,7 +35,14 @@ mod arch {
 
     #[stable(feature = "raw_ext", since = "1.1.0")] pub type blkcnt_t = i32;
     #[stable(feature = "raw_ext", since = "1.1.0")] pub type blksize_t = i32;
-    #[stable(feature = "raw_ext", since = "1.1.0")] pub type ino_t = u32;
+
+    #[stable(feature = "raw_ext", since = "1.1.0")]
+    #[cfg(not(any(target_env = "musl", target_arch = "asmjs")))]
+    pub type ino_t = u32;
+    #[stable(feature = "raw_ext", since = "1.1.0")]
+    #[cfg(any(target_env = "musl", target_arch = "asmjs"))]
+    pub type ino_t = u64;
+
     #[stable(feature = "raw_ext", since = "1.1.0")] pub type nlink_t = u32;
     #[stable(feature = "raw_ext", since = "1.1.0")] pub type off_t = i32;
     #[stable(feature = "raw_ext", since = "1.1.0")] pub type time_t = i32;
diff --git a/src/libstd/os/mod.rs b/src/libstd/os/mod.rs
index 5606c127dcb..e15c8d67a8a 100644
--- a/src/libstd/os/mod.rs
+++ b/src/libstd/os/mod.rs
@@ -32,4 +32,9 @@ pub use sys::ext as windows;
 #[cfg(target_os = "openbsd")]   pub mod openbsd;
 #[cfg(target_os = "solaris")]   pub mod solaris;
 
+// Emscripten is just like linux
+#[cfg(target_os = "emscripten")]
+#[path = "linux/mod.rs"]
+pub mod emscripten;
+
 pub mod raw;
diff --git a/src/libstd/os/raw.rs b/src/libstd/os/raw.rs
index bd353f066cf..4200e105cea 100644
--- a/src/libstd/os/raw.rs
+++ b/src/libstd/os/raw.rs
@@ -13,12 +13,14 @@
 #![stable(feature = "raw_os", since = "1.1.0")]
 
 #[cfg(any(target_os = "android",
+          target_os = "emscripten",
           all(target_os = "linux", any(target_arch = "aarch64",
                                        target_arch = "arm",
                                        target_arch = "powerpc",
                                        target_arch = "powerpc64"))))]
 #[stable(feature = "raw_os", since = "1.1.0")] pub type c_char = u8;
 #[cfg(not(any(target_os = "android",
+              target_os = "emscripten",
               all(target_os = "linux", any(target_arch = "aarch64",
                                            target_arch = "arm",
                                            target_arch = "powerpc",