summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-08 15:45:23 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-12-08 15:45:23 +0000
commit4daae4cc3bb495e577b12a327f2e4098ca889e8c (patch)
treefd4ea524762ae5cd3e962e9cf71027e6775a67e3
parentd5e1644d99b283f9045e659bad5198be0b6da8e0 (diff)
downloadpackages-4daae4cc3bb495e577b12a327f2e4098ca889e8c.tar.gz
packages-4daae4cc3bb495e577b12a327f2e4098ca889e8c.tar.bz2
packages-4daae4cc3bb495e577b12a327f2e4098ca889e8c.tar.xz
packages-4daae4cc3bb495e577b12a327f2e4098ca889e8c.zip
system/musl: Fix time32 setitimer implementation
-rw-r--r--system/musl/APKBUILD2
-rw-r--r--system/musl/time32-setitimer-fix.patch20
2 files changed, 22 insertions, 0 deletions
diff --git a/system/musl/APKBUILD b/system/musl/APKBUILD
index 6ed68e10e..dea23fb88 100644
--- a/system/musl/APKBUILD
+++ b/system/musl/APKBUILD
@@ -26,6 +26,7 @@ source="https://distfiles.adelielinux.org/source/$pkgname-$pkgver.tar.xz
3001-make-real-lastlog-h.patch
handle-aux-at_base.patch
fgetspent_r.patch
+ time32-setitimer-fix.patch
ldconfig
getent.c
@@ -121,6 +122,7 @@ sha512sums="7026b67590a5dc0eda96777476a902e3d7121813d9ff9d9dabec3774365b9d43ce06
88ae443dbb8e0a4368235bdc3a1c5c7b718495afa75e06deb8e01becc76cb1f0d6964589e2204fc749c9c1b3190b8b9ac1ae2c0099cab8e2ce3ec877103d4332 3001-make-real-lastlog-h.patch
6a7ff16d95b5d1be77e0a0fbb245491817db192176496a57b22ab037637d97a185ea0b0d19da687da66c2a2f5578e4343d230f399d49fe377d8f008410974238 handle-aux-at_base.patch
ded41235148930f8cf781538f7d63ecb0c65ea4e8ce792565f3649ee2523592a76b2a166785f0b145fc79f5852fd1fb1729a7a09110b3b8f85cba3912e790807 fgetspent_r.patch
+6126574e597ced3cc261131699d75d3d972ac460213b55e73d2ac3e974bbf7fb506c2212c387af616ac3a6a4aea689443b28bd1d70b29d359d2e5872a18f8419 time32-setitimer-fix.patch
cb71d29a87f334c75ecbc911becde7be825ab30d8f39fa6d64cb53812a7c9abaf91d9804c72540e5be3ddd3c84cfe7fd9632274309005cb8bcdf9a9b09b4b923 ldconfig
378d70e65bcc65bb4e1415354cecfa54b0c1146dfb24474b69e418cdbf7ad730472cd09f6f103e1c99ba6c324c9560bccdf287f5889bbc3ef0bdf0e08da47413 getent.c
9d42d66fb1facce2b85dad919be5be819ee290bd26ca2db00982b2f8e055a0196290a008711cbe2b18ec9eee8d2270e3b3a4692c5a1b807013baa5c2b70a2bbf iconv.c"
diff --git a/system/musl/time32-setitimer-fix.patch b/system/musl/time32-setitimer-fix.patch
new file mode 100644
index 000000000..d6ae191bd
--- /dev/null
+++ b/system/musl/time32-setitimer-fix.patch
@@ -0,0 +1,20 @@
+diff --git a/compat/time32/setitimer_time32.c b/compat/time32/setitimer_time32.c
+index 4651dacb..2475fd8c 100644
+--- a/compat/time32/setitimer_time32.c
++++ b/compat/time32/setitimer_time32.c
+@@ -15,9 +15,11 @@ int __setitimer_time32(int which, const struct itimerval32 *restrict new32, stru
+ * timer setting, so we can't fail on out-of-range old value.
+ * Since these are relative times, values large enough to overflow
+ * don't make sense anyway. */
+- old32->it_interval.tv_sec = old.it_interval.tv_sec;
+- old32->it_interval.tv_usec = old.it_interval.tv_usec;
+- old32->it_value.tv_sec = old.it_value.tv_sec;
+- old32->it_value.tv_usec = old.it_value.tv_usec;
++ if (old32) {
++ old32->it_interval.tv_sec = old.it_interval.tv_sec;
++ old32->it_interval.tv_usec = old.it_interval.tv_usec;
++ old32->it_value.tv_sec = old.it_value.tv_sec;
++ old32->it_value.tv_usec = old.it_value.tv_usec;
++ }
+ return 0;
+ }