Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion libc-test/semver/emscripten.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,3 @@ getgrnam
getgrnam_r
getpwnam_r
getpwuid_r
posix_fallocate64
56 changes: 45 additions & 11 deletions src/unix/linux_like/emscripten/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,40 @@ pub type fsfilcnt_t = u32;
pub type rlim_t = u64;
pub type nlink_t = u32;

pub type ino64_t = crate::ino_t;
pub type off64_t = off_t;
pub type blkcnt64_t = crate::blkcnt_t;
pub type rlim64_t = crate::rlim_t;

pub type rlimit64 = crate::rlimit;
pub type flock64 = crate::flock;
pub type stat64 = crate::stat;
pub type statfs64 = crate::statfs;
pub type statvfs64 = crate::statvfs;
pub type dirent64 = crate::dirent;
macro_rules! deprecate_lfs64 {
($($it:item)+) => {
$(
#[deprecated(
since = "0.2.187",
note = "Use the unsuffixed variant instead. emscripten uses musl, and makes no \
changes to these types. musl exposes 64-bit types no matter the target \
triple.",
)]
$it
)+
};
}

deprecate_lfs64! {
pub type ino64_t = ino_t;
pub type off64_t = off_t;
pub type blkcnt64_t = crate::blkcnt_t;
pub type rlim64_t = crate::rlim_t;

pub type rlimit64 = crate::rlimit;
pub type flock64 = crate::flock;
pub type stat64 = crate::stat;
pub type statfs64 = crate::statfs;
pub type statvfs64 = crate::statvfs;
pub type dirent64 = crate::dirent;
}

extern_ty! {
#[deprecated(
since = "0.2.187",
note = "Use the unsuffixed variant instead. emscripten uses musl, and makes no changes to \
these types. musl exposes 64-bit types no mater the target triple."
)]
pub enum fpos64_t {} // FIXME(emscripten): fill this out with a struct
}

Expand Down Expand Up @@ -1456,5 +1477,18 @@ extern "C" {
}

// Alias <foo> to <foo>64 to mimic glibc's LFS64 support
#[deprecated(
since = "0.2.187",
note = "Use the unsuffixed variant instead. emscripten uses musl, and makes no changes to \
these routines. musl exposes 64-bit types no matter the target triple."
)]
#[allow(deprecated)]
mod lfs64;

#[deprecated(
since = "0.2.187",
note = "Use the unsuffixed variant instead. emscripten uses musl, and makes no changes to \
these routines. musl exposes 64-bit types no matter the target triple."
)]
#[allow(deprecated)]
pub use self::lfs64::*;
1 change: 1 addition & 0 deletions src/unix/linux_like/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -533,6 +533,7 @@ cfg_if! {
if #[cfg(target_os = "android")] {
pub const RLIM64_INFINITY: c_ulonglong = !0;
} else {
#[cfg_attr(target_os = "emscripten", allow(deprecated))]
pub const RLIM64_INFINITY: crate::rlim64_t = !0;
}
}
Expand Down