about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libcore/libc.rs25
m---------src/libuv0
2 files changed, 20 insertions, 5 deletions
diff --git a/src/libcore/libc.rs b/src/libcore/libc.rs
index 7f293b98e24..a25beb9132f 100644
--- a/src/libcore/libc.rs
+++ b/src/libcore/libc.rs
@@ -1396,6 +1396,15 @@ pub mod funcs {
                 #[cfg(target_os = "android")]
                 #[cfg(target_os = "freebsd")]
                 unsafe fn readdir(dirp: *DIR) -> *dirent_t;
+
+                unsafe fn closedir(dirp: *DIR) -> c_int;
+                unsafe fn rewinddir(dirp: *DIR);
+                unsafe fn seekdir(dirp: *DIR, loc: c_long);
+                unsafe fn telldir(dirp: *DIR) -> c_long;
+            }
+
+            #[cfg(target_word_size = "64")]
+            pub extern {
                 // on OSX (particularly when running with a
                 // 64bit kernel), we have an issue where there
                 // are separate bindings for opendir and readdir,
@@ -1406,11 +1415,17 @@ pub mod funcs {
                 #[cfg(target_os = "macos")]
                 #[link_name = "readdir$INODE64"]
                 unsafe fn readdir(dirp: *DIR) -> *dirent_t;
-
-                unsafe fn closedir(dirp: *DIR) -> c_int;
-                unsafe fn rewinddir(dirp: *DIR);
-                unsafe fn seekdir(dirp: *DIR, loc: c_long);
-                unsafe fn telldir(dirp: *DIR) -> c_long;
+            }
+            #[cfg(target_word_size = "32")]
+            pub extern {
+                // on OSX (particularly when running with a
+                // 64bit kernel), we have an issue where there
+                // are separate bindings for opendir and readdir,
+                // which we have to explicitly link, as below.
+                #[cfg(target_os = "macos")]
+                unsafe fn opendir(dirname: *c_char) -> *DIR;
+                #[cfg(target_os = "macos")]
+                unsafe fn readdir(dirp: *DIR) -> *dirent_t;
             }
         }
 
diff --git a/src/libuv b/src/libuv
-Subproject 576ab1db8ea03889eb7b2274654afe7c5c86723
+Subproject 218ab86721eefd7b7e97fa6d9f95a80a1fa8686