aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2022-06-27 14:29:02 -0700
committerColin Cross <ccross@android.com>2022-10-20 12:54:59 -0700
commitd8ad45fd8025a6639af882ce8898e6cb7e71e798 (patch)
treeaa4fc2dd044ffe92968044a158170f7ed9bdabf0
parentfdd70d411866a09205b1853c4b59951b5c86eb8c (diff)
downloadlibc-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.patch13
-rw-r--r--src/unix/linux_like/linux/musl/mod.rs2
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;