diff options
| -rw-r--r-- | meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch | 37 | ||||
| -rw-r--r-- | meta-oe/recipes-core/toybox/toybox_0.8.8.bb | 1 |
2 files changed, 38 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch b/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch new file mode 100644 index 0000000000..8976b3748b --- /dev/null +++ b/meta-oe/recipes-core/toybox/toybox/0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 7284c7ae0df9aa5a9c8aa0a81a018e17289fe2c4 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Thu, 8 Sep 2022 07:22:26 -0700 | ||
| 4 | Subject: [PATCH] portability: Fix timer_settime_wrap for 32bit systems with | ||
| 5 | 64bit time_t | ||
| 6 | |||
| 7 | glibc does not define SYS_timer_settime if the 32bit syscall is not | ||
| 8 | available, new architectures like riscv32 has defaulted to 64bit time_t | ||
| 9 | from get go and avoided wiring 32bit syscall, therefore alias it to | ||
| 10 | 64bit version here | ||
| 11 | |||
| 12 | Upstream-Status: Submitted [https://github.com/landley/toybox/pull/373] | ||
| 13 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 14 | --- | ||
| 15 | lib/portability.c | 6 ++++++ | ||
| 16 | 1 file changed, 6 insertions(+) | ||
| 17 | |||
| 18 | diff --git a/lib/portability.c b/lib/portability.c | ||
| 19 | index d955d081..4baa9367 100644 | ||
| 20 | --- a/lib/portability.c | ||
| 21 | +++ b/lib/portability.c | ||
| 22 | @@ -711,6 +711,12 @@ int timer_create_wrap(clockid_t c, struct sigevent *se, timer_t *t) | ||
| 23 | return 0; | ||
| 24 | } | ||
| 25 | |||
| 26 | +#if !defined(SYS_timer_settime) && defined(SYS_timer_settime64) | ||
| 27 | +// glibc does not define defines SYS_timer_settime on 32-bit systems | ||
| 28 | +// with 64-bit time_t defaults e.g. riscv32 | ||
| 29 | +#define SYS_timer_settime SYS_timer_settime64 | ||
| 30 | +#endif | ||
| 31 | + | ||
| 32 | int timer_settime_wrap(timer_t t, int flags, struct itimerspec *val, | ||
| 33 | struct itimerspec *old) | ||
| 34 | { | ||
| 35 | -- | ||
| 36 | 2.37.3 | ||
| 37 | |||
diff --git a/meta-oe/recipes-core/toybox/toybox_0.8.8.bb b/meta-oe/recipes-core/toybox/toybox_0.8.8.bb index 89411cecc9..6836b14682 100644 --- a/meta-oe/recipes-core/toybox/toybox_0.8.8.bb +++ b/meta-oe/recipes-core/toybox/toybox_0.8.8.bb | |||
| @@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=78659a599b9325da368f2f1eb88f19c7" | |||
| 8 | inherit cml1 update-alternatives | 8 | inherit cml1 update-alternatives |
| 9 | 9 | ||
| 10 | SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \ | 10 | SRC_URI = "http://www.landley.net/toybox/downloads/${BPN}-${PV}.tar.gz \ |
| 11 | file://0001-portability-Fix-timer_settime_wrap-for-32bit-systems.patch \ | ||
| 11 | " | 12 | " |
| 12 | SRC_URI[sha256sum] = "dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58" | 13 | SRC_URI[sha256sum] = "dafd41978d40f02a61cf1be99a2b4a25812bbfb9c3157e679ee7611202d6ac58" |
| 13 | 14 | ||
