diff options
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0001-hwclock-make-glibc-2.31-compatible.patch | 83 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox_1.33.0.bb (renamed from meta/recipes-core/busybox/busybox_1.32.0.bb) | 4 |
2 files changed, 1 insertions, 86 deletions
diff --git a/meta/recipes-core/busybox/busybox/0001-hwclock-make-glibc-2.31-compatible.patch b/meta/recipes-core/busybox/busybox/0001-hwclock-make-glibc-2.31-compatible.patch deleted file mode 100644 index 8d1f272120..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-hwclock-make-glibc-2.31-compatible.patch +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | From 5b2fc5746c352eb2b27bfc9fb224580d9852d0fa Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sakib Sajal <sakib.sajal@windriver.com> | ||
| 3 | Date: Fri, 17 Jul 2020 17:27:21 +0000 | ||
| 4 | Subject: [PATCH] hwclock: make glibc 2.31 compatible | ||
| 5 | |||
| 6 | NEWS for glibc version 2.31 | ||
| 7 | =========================== | ||
| 8 | |||
| 9 | Deprecated and removed features, and other changes affecting compatibility: | ||
| 10 | |||
| 11 | * The settimeofday function can still be used to set a system-wide | ||
| 12 | time zone when the operating system supports it. This is because | ||
| 13 | the Linux kernel reused the API, on some architectures, to describe | ||
| 14 | a system-wide time-zone-like offset between the software clock | ||
| 15 | maintained by the kernel, and the "RTC" clock that keeps time when | ||
| 16 | the system is shut down. | ||
| 17 | |||
| 18 | However, to reduce the odds of this offset being set by accident, | ||
| 19 | settimeofday can no longer be used to set the time and the offset | ||
| 20 | simultaneously. If both of its two arguments are non-null, the call | ||
| 21 | will fail (setting errno to EINVAL). | ||
| 22 | |||
| 23 | Callers attempting to set this offset should also be prepared for | ||
| 24 | the call to fail and set errno to ENOSYS; this already happens on | ||
| 25 | the Hurd and on some Linux architectures. The Linux kernel | ||
| 26 | maintainers are discussing a more principled replacement for the | ||
| 27 | reused API. After a replacement becomes available, we will change | ||
| 28 | settimeofday to fail with ENOSYS on all platforms when its 'tzp' | ||
| 29 | argument is not a null pointer. | ||
| 30 | |||
| 31 | settimeofday itself is obsolescent according to POSIX. Programs | ||
| 32 | that set the system time should use clock_settime and/or the adjtime | ||
| 33 | family of functions instead. We may cease to make settimeofday | ||
| 34 | available to newly linked binaries after there is a replacement for | ||
| 35 | Linux's time-zone-like offset API. | ||
| 36 | |||
| 37 | hwclock had two calls to settimeofday, in functions to_sys_clock and | ||
| 38 | set_system_clock_timezone, where both the arguments to settimeofday | ||
| 39 | were valid (non-null). | ||
| 40 | Therefore, split the call, once for timezone and once for timeval. | ||
| 41 | |||
| 42 | Fixes #12756 | ||
| 43 | |||
| 44 | Upstream-Status: Pending | ||
| 45 | |||
| 46 | Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com> | ||
| 47 | --- | ||
| 48 | util-linux/hwclock.c | 12 ++++++++---- | ||
| 49 | 1 file changed, 8 insertions(+), 4 deletions(-) | ||
| 50 | |||
| 51 | diff --git a/util-linux/hwclock.c b/util-linux/hwclock.c | ||
| 52 | index dc97d8f..cf346e8 100644 | ||
| 53 | --- a/util-linux/hwclock.c | ||
| 54 | +++ b/util-linux/hwclock.c | ||
| 55 | @@ -131,8 +131,10 @@ static void to_sys_clock(const char **pp_rtcname, int utc) | ||
| 56 | |||
| 57 | tv.tv_sec = read_rtc(pp_rtcname, NULL, utc); | ||
| 58 | tv.tv_usec = 0; | ||
| 59 | - if (settimeofday(&tv, &tz)) | ||
| 60 | - bb_simple_perror_msg_and_die("settimeofday"); | ||
| 61 | + if (settimeofday(NULL, &tz)) | ||
| 62 | + bb_simple_perror_msg_and_die("settimeofday: timezone"); | ||
| 63 | + if (settimeofday(&tv, NULL)) | ||
| 64 | + bb_simple_perror_msg_and_die("settimeofday: timeval"); | ||
| 65 | } | ||
| 66 | |||
| 67 | static void from_sys_clock(const char **pp_rtcname, int utc) | ||
| 68 | @@ -283,8 +285,10 @@ static void set_system_clock_timezone(int utc) | ||
| 69 | gettimeofday(&tv, NULL); | ||
| 70 | if (!utc) | ||
| 71 | tv.tv_sec += tz.tz_minuteswest * 60; | ||
| 72 | - if (settimeofday(&tv, &tz)) | ||
| 73 | - bb_simple_perror_msg_and_die("settimeofday"); | ||
| 74 | + if (settimeofday(NULL, &tz)) | ||
| 75 | + bb_simple_perror_msg_and_die("settimeofday: timezone"); | ||
| 76 | + if (settimeofday(&tv, NULL)) | ||
| 77 | + bb_simple_perror_msg_and_die("settimeofday: timeval"); | ||
| 78 | } | ||
| 79 | |||
| 80 | //usage:#define hwclock_trivial_usage | ||
| 81 | -- | ||
| 82 | 2.24.1 | ||
| 83 | |||
diff --git a/meta/recipes-core/busybox/busybox_1.32.0.bb b/meta/recipes-core/busybox/busybox_1.33.0.bb index 3a669444dd..1a3f218bca 100644 --- a/meta/recipes-core/busybox/busybox_1.32.0.bb +++ b/meta/recipes-core/busybox/busybox_1.33.0.bb | |||
| @@ -44,11 +44,9 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
| 44 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ | 44 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ |
| 45 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ | 45 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ |
| 46 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ | 46 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ |
| 47 | file://0001-hwclock-make-glibc-2.31-compatible.patch \ | ||
| 48 | file://rev.cfg \ | 47 | file://rev.cfg \ |
| 49 | file://pgrep.cfg \ | 48 | file://pgrep.cfg \ |
| 50 | " | 49 | " |
| 51 | SRC_URI_append_libc-musl = " file://musl.cfg " | 50 | SRC_URI_append_libc-musl = " file://musl.cfg " |
| 52 | 51 | ||
| 53 | SRC_URI[tarball.md5sum] = "9576986f1a960da471d03b72a62f13c7" | 52 | SRC_URI[tarball.sha256sum] = "d568681c91a85edc6710770cebc1e80e042ad74d305b5c2e6d57a5f3de3b8fbd" |
| 54 | SRC_URI[tarball.sha256sum] = "c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689" | ||
