diff options
author | Colin Cross <ccross@android.com> | 2022-06-27 14:29:02 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2022-10-20 12:54:59 -0700 |
commit | d8ad45fd8025a6639af882ce8898e6cb7e71e798 (patch) | |
tree | aa4fc2dd044ffe92968044a158170f7ed9bdabf0 | |
parent | fdd70d411866a09205b1853c4b59951b5c86eb8c (diff) | |
download | libc-d8ad45fd8025a6639af882ce8898e6cb7e71e798.tar.gz |
HACK: use i64 for time_t on musl
Musl has use a 64-bit time_t since 1.2.0, but rust still uses the old
32-bit time_t on 32-bit platforms.
https://github.com/rust-lang/libc/pull/2088 will eventually fix this,
but until then use i64 for time_t on musl in our tree. This will
break binary compatibility with rust crates built against musl outside
our tree, but those shouldn't get mixed with our tree.
Bug: 216192129
Test: m USE_HOST_MUSL=true host-native -k
Change-Id: Iaafd06e180514157015607be50f625cb0661e1b8
-rw-r--r-- | patches/musl_time_t.patch | 13 | ||||
-rw-r--r-- | src/unix/linux_like/linux/musl/mod.rs | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/patches/musl_time_t.patch b/patches/musl_time_t.patch new file mode 100644 index 00000000..c238a17d --- /dev/null +++ b/patches/musl_time_t.patch @@ -0,0 +1,13 @@ +diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs +index 70710734..929108ce 100644 +--- a/src/unix/linux_like/linux/musl/mod.rs ++++ b/src/unix/linux_like/linux/musl/mod.rs +@@ -9,7 +9,7 @@ pub type clock_t = c_long; + See #1848 for more info." + ) + )] +-pub type time_t = c_long; ++pub type time_t = i64; + pub type suseconds_t = c_long; + pub type ino_t = u64; + pub type off_t = i64; diff --git a/src/unix/linux_like/linux/musl/mod.rs b/src/unix/linux_like/linux/musl/mod.rs index 70710734..929108ce 100644 --- a/src/unix/linux_like/linux/musl/mod.rs +++ b/src/unix/linux_like/linux/musl/mod.rs @@ -9,7 +9,7 @@ pub type clock_t = c_long; See #1848 for more info." ) )] -pub type time_t = c_long; +pub type time_t = i64; pub type suseconds_t = c_long; pub type ino_t = u64; pub type off_t = i64; |