libcore: Attempt to put out burning tree on Mac by using the old symbol on 32 bit. rs=bustage

This commit is contained in:
Patrick Walton 2013-03-12 15:27:45 -07:00
parent 806732a70b
commit b60c3bfa4a
2 changed files with 21 additions and 6 deletions

View file

@ -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;
}
}

@ -1 +1 @@
Subproject commit 576ab1db8ea03889eb7b2274654afe7c5c867230
Subproject commit 218ab86721eefd7b7e97fa6d9f95a80a1fa8686c