diff options
| author | Andrej Valek <andrej.valek@siemens.com> | 2020-07-03 10:42:15 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-07-03 20:17:29 +0100 |
| commit | 639731840aa9dc028372434661bb1517be21e843 (patch) | |
| tree | b15af440f7f1ba2ccefa11f88bc52068d6bc9b13 | |
| parent | 61d21bd035b5d821b3a285702d185c4ad57f4dac (diff) | |
| download | poky-639731840aa9dc028372434661bb1517be21e843.tar.gz | |
busybox: 1.31.1 -> 1.32.0
- update to last stable version 1.32.0
- remove and refresh already merged patches
(From OE-Core rev: 2ccac58c2346b5a253dd065e5456c5bdaee2c99d)
Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/recipes-core/busybox/busybox-inittab_1.32.0.bb (renamed from meta/recipes-core/busybox/busybox-inittab_1.31.0.bb) | 0 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch | 85 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch | 120 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch | 53 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch | 43 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch | 46 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch | 26 | ||||
| -rw-r--r-- | meta/recipes-core/busybox/busybox_1.32.0.bb (renamed from meta/recipes-core/busybox/busybox_1.31.1.bb) | 9 |
8 files changed, 15 insertions, 367 deletions
diff --git a/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb b/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb index 61fb8cbad1..61fb8cbad1 100644 --- a/meta/recipes-core/busybox/busybox-inittab_1.31.0.bb +++ b/meta/recipes-core/busybox/busybox-inittab_1.32.0.bb | |||
diff --git a/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch b/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch deleted file mode 100644 index 9b9432844c..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-Remove-stime-function-calls.patch +++ /dev/null | |||
| @@ -1,85 +0,0 @@ | |||
| 1 | From d3539be8f27b8cbfdfee460fe08299158f08bcd9 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alistair Francis <alistair.francis@wdc.com> | ||
| 3 | Date: Tue, 19 Nov 2019 13:06:40 +0100 | ||
| 4 | Subject: [PATCH] Remove stime() function calls | ||
| 5 | |||
| 6 | stime() has been deprecated in glibc 2.31 and replaced with | ||
| 7 | clock_settime(). Let's replace the stime() function calls with | ||
| 8 | clock_settime() in preperation. | ||
| 9 | |||
| 10 | function old new delta | ||
| 11 | rdate_main 197 224 +27 | ||
| 12 | clock_settime - 27 +27 | ||
| 13 | date_main 926 941 +15 | ||
| 14 | stime 37 - -37 | ||
| 15 | ------------------------------------------------------------------------------ | ||
| 16 | (add/remove: 2/2 grow/shrink: 2/0 up/down: 69/-37) Total: 32 bytes | ||
| 17 | |||
| 18 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=d3539be8f27b8cbfdfee460fe08299158f08bcd9] | ||
| 19 | Signed-off-by: Alistair Francis <alistair.francis@wdc.com> | ||
| 20 | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||
| 21 | --- | ||
| 22 | coreutils/date.c | 6 +++++- | ||
| 23 | libbb/missing_syscalls.c | 8 -------- | ||
| 24 | util-linux/rdate.c | 8 ++++++-- | ||
| 25 | 3 files changed, 11 insertions(+), 11 deletions(-) | ||
| 26 | |||
| 27 | --- a/coreutils/date.c | ||
| 28 | +++ b/coreutils/date.c | ||
| 29 | @@ -279,6 +279,9 @@ int date_main(int argc UNUSED_PARAM, cha | ||
| 30 | time(&ts.tv_sec); | ||
| 31 | #endif | ||
| 32 | } | ||
| 33 | +#if !ENABLE_FEATURE_DATE_NANO | ||
| 34 | + ts.tv_nsec = 0; | ||
| 35 | +#endif | ||
| 36 | localtime_r(&ts.tv_sec, &tm_time); | ||
| 37 | |||
| 38 | /* If date string is given, update tm_time, and maybe set date */ | ||
| 39 | @@ -301,9 +304,10 @@ int date_main(int argc UNUSED_PARAM, cha | ||
| 40 | if (date_str[0] != '@') | ||
| 41 | tm_time.tm_isdst = -1; | ||
| 42 | ts.tv_sec = validate_tm_time(date_str, &tm_time); | ||
| 43 | + ts.tv_nsec = 0; | ||
| 44 | |||
| 45 | /* if setting time, set it */ | ||
| 46 | - if ((opt & OPT_SET) && stime(&ts.tv_sec) < 0) { | ||
| 47 | + if ((opt & OPT_SET) && clock_settime(CLOCK_REALTIME, &ts) < 0) { | ||
| 48 | bb_perror_msg("can't set date"); | ||
| 49 | } | ||
| 50 | } | ||
| 51 | --- a/libbb/missing_syscalls.c | ||
| 52 | +++ b/libbb/missing_syscalls.c | ||
| 53 | @@ -15,14 +15,6 @@ pid_t getsid(pid_t pid) | ||
| 54 | return syscall(__NR_getsid, pid); | ||
| 55 | } | ||
| 56 | |||
| 57 | -int stime(const time_t *t) | ||
| 58 | -{ | ||
| 59 | - struct timeval tv; | ||
| 60 | - tv.tv_sec = *t; | ||
| 61 | - tv.tv_usec = 0; | ||
| 62 | - return settimeofday(&tv, NULL); | ||
| 63 | -} | ||
| 64 | - | ||
| 65 | int sethostname(const char *name, size_t len) | ||
| 66 | { | ||
| 67 | return syscall(__NR_sethostname, name, len); | ||
| 68 | --- a/util-linux/rdate.c | ||
| 69 | +++ b/util-linux/rdate.c | ||
| 70 | @@ -95,9 +95,13 @@ int rdate_main(int argc UNUSED_PARAM, ch | ||
| 71 | if (!(flags & 2)) { /* no -p (-s may be present) */ | ||
| 72 | if (time(NULL) == remote_time) | ||
| 73 | bb_error_msg("current time matches remote time"); | ||
| 74 | - else | ||
| 75 | - if (stime(&remote_time) < 0) | ||
| 76 | + else { | ||
| 77 | + struct timespec ts; | ||
| 78 | + ts.tv_sec = remote_time; | ||
| 79 | + ts.tv_nsec = 0; | ||
| 80 | + if (clock_settime(CLOCK_REALTIME, &ts) < 0) | ||
| 81 | bb_perror_msg_and_die("can't set time of day"); | ||
| 82 | + } | ||
| 83 | } | ||
| 84 | |||
| 85 | if (flags != 1) /* not lone -s */ | ||
diff --git a/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch b/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch deleted file mode 100644 index 0c7f9b8132..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch +++ /dev/null | |||
| @@ -1,120 +0,0 @@ | |||
| 1 | From be5a505d771a77c640acc35ceaa470c80e62f954 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Denys Vlasenko <vda.linux@googlemail.com> | ||
| 3 | Date: Thu, 24 Oct 2019 16:26:55 +0200 | ||
| 4 | Subject: [PATCH] Remove syscall wrappers around clock_gettime, closes 12091 | ||
| 5 | |||
| 6 | 12091 "Direct use of __NR_clock_gettime is not time64-safe". | ||
| 7 | |||
| 8 | function old new delta | ||
| 9 | runsv_main 1698 1712 +14 | ||
| 10 | startservice 378 383 +5 | ||
| 11 | get_mono 31 25 -6 | ||
| 12 | date_main 932 926 -6 | ||
| 13 | gettimeofday_ns 17 - -17 | ||
| 14 | ------------------------------------------------------------------------------ | ||
| 15 | (add/remove: 0/1 grow/shrink: 2/2 up/down: 19/-29) Total: -10 bytes | ||
| 16 | |||
| 17 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=be5a505d771a77c640acc35ceaa470c80e62f954] | ||
| 18 | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||
| 19 | --- | ||
| 20 | Makefile.flags | 6 ++++-- | ||
| 21 | coreutils/date.c | 16 +++------------- | ||
| 22 | libbb/time.c | 11 +---------- | ||
| 23 | runit/runsv.c | 11 +---------- | ||
| 24 | 4 files changed, 9 insertions(+), 35 deletions(-) | ||
| 25 | |||
| 26 | --- a/Makefile.flags | ||
| 27 | +++ b/Makefile.flags | ||
| 28 | @@ -129,10 +129,12 @@ endif | ||
| 29 | # fall back to using a temp file: | ||
| 30 | CRYPT_AVAILABLE := $(shell echo 'int main(void){return 0;}' >crypttest.c; $(CC) $(CFLAGS) -lcrypt -o /dev/null crypttest.c >/dev/null 2>&1 && echo "y"; rm crypttest.c) | ||
| 31 | ifeq ($(CRYPT_AVAILABLE),y) | ||
| 32 | -LDLIBS += m crypt | ||
| 33 | +LDLIBS += m rt crypt | ||
| 34 | else | ||
| 35 | -LDLIBS += m | ||
| 36 | +LDLIBS += m rt | ||
| 37 | endif | ||
| 38 | +# libm may be needed for dc, awk, ntpd | ||
| 39 | +# librt may be needed for clock_gettime() | ||
| 40 | |||
| 41 | # libpam may use libpthread, libdl and/or libaudit. | ||
| 42 | # On some platforms that requires an explicit -lpthread, -ldl, -laudit. | ||
| 43 | --- a/coreutils/date.c | ||
| 44 | +++ b/coreutils/date.c | ||
| 45 | @@ -33,10 +33,9 @@ | ||
| 46 | //config: Enable option (-I) to output an ISO-8601 compliant | ||
| 47 | //config: date/time string. | ||
| 48 | //config: | ||
| 49 | -//config:# defaults to "no": stat's nanosecond field is a bit non-portable | ||
| 50 | //config:config FEATURE_DATE_NANO | ||
| 51 | //config: bool "Support %[num]N nanosecond format specifier" | ||
| 52 | -//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64) | ||
| 53 | +//config: default n # stat's nanosecond field is a bit non-portable | ||
| 54 | //config: depends on DATE | ||
| 55 | //config: select PLATFORM_LINUX | ||
| 56 | //config: help | ||
| 57 | @@ -271,17 +270,8 @@ int date_main(int argc UNUSED_PARAM, cha | ||
| 58 | */ | ||
| 59 | #endif | ||
| 60 | } else { | ||
| 61 | -#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime) | ||
| 62 | - /* libc has incredibly messy way of doing this, | ||
| 63 | - * typically requiring -lrt. We just skip all this mess */ | ||
| 64 | - syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); | ||
| 65 | -#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64 | ||
| 66 | - /* Let's only support the 64 suffix syscalls for 64-bit time_t. | ||
| 67 | - * This simplifies the code for us as we don't need to convert | ||
| 68 | - * between 64-bit and 32-bit. We also don't have a way to | ||
| 69 | - * report overflow errors here. | ||
| 70 | - */ | ||
| 71 | - syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts); | ||
| 72 | +#if ENABLE_FEATURE_DATE_NANO | ||
| 73 | + clock_gettime(CLOCK_REALTIME, &ts); | ||
| 74 | #else | ||
| 75 | time(&ts.tv_sec); | ||
| 76 | #endif | ||
| 77 | --- a/libbb/time.c | ||
| 78 | +++ b/libbb/time.c | ||
| 79 | @@ -253,18 +253,9 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS( | ||
| 80 | #define CLOCK_MONOTONIC 1 | ||
| 81 | #endif | ||
| 82 | |||
| 83 | -/* libc has incredibly messy way of doing this, | ||
| 84 | - * typically requiring -lrt. We just skip all this mess */ | ||
| 85 | static void get_mono(struct timespec *ts) | ||
| 86 | { | ||
| 87 | -#if defined(__NR_clock_gettime) | ||
| 88 | - if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) | ||
| 89 | -#elif __TIMESIZE == 64 | ||
| 90 | - if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts)) | ||
| 91 | -#else | ||
| 92 | -# error "We currently don't support architectures without " \ | ||
| 93 | - "the __NR_clock_gettime syscall and 32-bit time_t" | ||
| 94 | -#endif | ||
| 95 | + if (clock_gettime(CLOCK_MONOTONIC, ts)) | ||
| 96 | bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); | ||
| 97 | } | ||
| 98 | unsigned long long FAST_FUNC monotonic_ns(void) | ||
| 99 | --- a/runit/runsv.c | ||
| 100 | +++ b/runit/runsv.c | ||
| 101 | @@ -51,18 +51,9 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAG | ||
| 102 | #if ENABLE_MONOTONIC_SYSCALL | ||
| 103 | #include <sys/syscall.h> | ||
| 104 | |||
| 105 | -/* libc has incredibly messy way of doing this, | ||
| 106 | - * typically requiring -lrt. We just skip all this mess */ | ||
| 107 | static void gettimeofday_ns(struct timespec *ts) | ||
| 108 | { | ||
| 109 | -#if defined(__NR_clock_gettime) | ||
| 110 | - syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); | ||
| 111 | -#elif __TIMESIZE == 64 | ||
| 112 | - syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts); | ||
| 113 | -#else | ||
| 114 | -# error "We currently don't support architectures without " \ | ||
| 115 | - "the __NR_clock_gettime syscall and 32-bit time_t" | ||
| 116 | -#endif | ||
| 117 | + clock_gettime(CLOCK_REALTIME, ts); | ||
| 118 | } | ||
| 119 | #else | ||
| 120 | static void gettimeofday_ns(struct timespec *ts) | ||
diff --git a/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch b/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch deleted file mode 100644 index 944526b7ca..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-date-Use-64-prefix-syscall-if-we-have-to.patch +++ /dev/null | |||
| @@ -1,53 +0,0 @@ | |||
| 1 | From b7b7452f292f03eefafa6fd1da9bcfc933dee15a Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alistair Francis <alistair.francis@wdc.com> | ||
| 3 | Date: Wed, 18 Sep 2019 09:28:49 -0700 | ||
| 4 | Subject: [PATCH] date: Use 64 prefix syscall if we have to | ||
| 5 | |||
| 6 | Some 32-bit architectures no longer have the 32-bit time_t syscalls. | ||
| 7 | Instead they have suffixed syscalls that returns a 64-bit time_t. If | ||
| 8 | the architecture doesn't have the non-suffixed syscall and is using a | ||
| 9 | 64-bit time_t let's use the suffixed syscall instead. | ||
| 10 | |||
| 11 | This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel | ||
| 12 | headers. | ||
| 13 | |||
| 14 | If an architecture only supports the suffixed syscalls, but is still | ||
| 15 | using a 32-bit time_t fall back to the libc call. | ||
| 16 | |||
| 17 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=b7b7452f292f03eefafa6fd1da9bcfc933dee15a] | ||
| 18 | Signed-off-by: Alistair Francis <alistair.francis@wdc.com> | ||
| 19 | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||
| 20 | --- | ||
| 21 | coreutils/date.c | 11 +++++++++-- | ||
| 22 | 1 file changed, 9 insertions(+), 2 deletions(-) | ||
| 23 | |||
| 24 | --- a/coreutils/date.c | ||
| 25 | +++ b/coreutils/date.c | ||
| 26 | @@ -36,7 +36,7 @@ | ||
| 27 | //config:# defaults to "no": stat's nanosecond field is a bit non-portable | ||
| 28 | //config:config FEATURE_DATE_NANO | ||
| 29 | //config: bool "Support %[num]N nanosecond format specifier" | ||
| 30 | -//config: default n # syscall(__NR_clock_gettime) | ||
| 31 | +//config: default n # syscall(__NR_clock_gettime) or syscall(__NR_clock_gettime64) | ||
| 32 | //config: depends on DATE | ||
| 33 | //config: select PLATFORM_LINUX | ||
| 34 | //config: help | ||
| 35 | @@ -271,10 +271,17 @@ int date_main(int argc UNUSED_PARAM, cha | ||
| 36 | */ | ||
| 37 | #endif | ||
| 38 | } else { | ||
| 39 | -#if ENABLE_FEATURE_DATE_NANO | ||
| 40 | +#if ENABLE_FEATURE_DATE_NANO && defined(__NR_clock_gettime) | ||
| 41 | /* libc has incredibly messy way of doing this, | ||
| 42 | * typically requiring -lrt. We just skip all this mess */ | ||
| 43 | syscall(__NR_clock_gettime, CLOCK_REALTIME, &ts); | ||
| 44 | +#elif ENABLE_FEATURE_DATE_NANO && __TIMESIZE == 64 | ||
| 45 | + /* Let's only support the 64 suffix syscalls for 64-bit time_t. | ||
| 46 | + * This simplifies the code for us as we don't need to convert | ||
| 47 | + * between 64-bit and 32-bit. We also don't have a way to | ||
| 48 | + * report overflow errors here. | ||
| 49 | + */ | ||
| 50 | + syscall(__NR_clock_gettime64, CLOCK_REALTIME, &ts); | ||
| 51 | #else | ||
| 52 | time(&ts.tv_sec); | ||
| 53 | #endif | ||
diff --git a/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch b/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch deleted file mode 100644 index 58a6c0d8a0..0000000000 --- a/meta/recipes-core/busybox/busybox/0001-time-Use-64-prefix-syscall-if-we-have-to.patch +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | From 902d3992922fc8db8495d5fb30a4581711b60c62 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alistair Francis <alistair.francis@wdc.com> | ||
| 3 | Date: Wed, 18 Sep 2019 09:28:50 -0700 | ||
| 4 | Subject: [PATCH] time: Use 64 prefix syscall if we have to | ||
| 5 | |||
| 6 | Some 32-bit architectures no longer have the 32-bit time_t syscalls. | ||
| 7 | Instead they have suffixed syscalls that returns a 64-bit time_t. If | ||
| 8 | the architecture doesn't have the non-suffixed syscall and is using a | ||
| 9 | 64-bit time_t let's use the suffixed syscall instead. | ||
| 10 | |||
| 11 | This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel | ||
| 12 | headers. | ||
| 13 | |||
| 14 | If an architecture only supports the suffixed syscalls, but is still | ||
| 15 | using a 32-bit time_t report a compilation error. This avoids us have to | ||
| 16 | deal with converting between 64-bit and 32-bit values. There are | ||
| 17 | currently no architectures where this is the case. | ||
| 18 | |||
| 19 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=902d3992922fc8db8495d5fb30a4581711b60c62] | ||
| 20 | Signed-off-by: Alistair Francis <alistair.francis@wdc.com> | ||
| 21 | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> | ||
| 22 | --- | ||
| 23 | libbb/time.c | 7 +++++++ | ||
| 24 | 1 file changed, 7 insertions(+) | ||
| 25 | |||
| 26 | --- a/libbb/time.c | ||
| 27 | +++ b/libbb/time.c | ||
| 28 | @@ -257,7 +257,14 @@ char* FAST_FUNC strftime_YYYYMMDDHHMMSS( | ||
| 29 | * typically requiring -lrt. We just skip all this mess */ | ||
| 30 | static void get_mono(struct timespec *ts) | ||
| 31 | { | ||
| 32 | - if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) | ||
| 33 | +#if defined(__NR_clock_gettime) | ||
| 34 | + if (syscall(__NR_clock_gettime, CLOCK_MONOTONIC, ts)) | ||
| 35 | +#elif __TIMESIZE == 64 | ||
| 36 | + if (syscall(__NR_clock_gettime64, CLOCK_MONOTONIC, ts)) | ||
| 37 | +#else | ||
| 38 | +# error "We currently don't support architectures without " \ | ||
| 39 | + "the __NR_clock_gettime syscall and 32-bit time_t" | ||
| 40 | +#endif | ||
| 41 | bb_error_msg_and_die("clock_gettime(MONOTONIC) failed"); | ||
| 42 | } | ||
| 43 | unsigned long long FAST_FUNC monotonic_ns(void) | ||
diff --git a/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch b/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch deleted file mode 100644 index 4760570441..0000000000 --- a/meta/recipes-core/busybox/busybox/0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | From 8c7419649d6e6fda8fa7d0e863084c78ac728628 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alistair Francis <alistair.francis@wdc.com> | ||
| 3 | Date: Wed, 28 Aug 2019 10:54:15 -0700 | ||
| 4 | Subject: [PATCH 3/3] runsv: Use 64 prefix syscall if we have to | ||
| 5 | |||
| 6 | Some 32-bit architectures no longer have the 32-bit time_t syscalls. | ||
| 7 | Instead they have suffixed syscalls that returns a 64-bit time_t. If | ||
| 8 | the architecture doesn't have the non-suffixed syscall and is using a | ||
| 9 | 64-bit time_t let's use the suffixed syscall instead. | ||
| 10 | |||
| 11 | This fixes build issues when building for RISC-V 32-bit with 5.1+ kernel | ||
| 12 | headers. | ||
| 13 | |||
| 14 | If an architecture only supports the suffixed syscalls, but is still | ||
| 15 | using a 32-bit time_t report a compilation error. This avoids us have to | ||
| 16 | deal with converting between 64-bit and 32-bit values. There are | ||
| 17 | currently no architectures where this is the case. | ||
| 18 | |||
| 19 | Signed-off-by: Alistair Francis <alistair.francis@wdc.com> | ||
| 20 | Upstream-Status: Backport [https://git.busybox.net/busybox/commit/?id=ad27d44ebe950335616f37e36863469dc181b455] | ||
| 21 | --- | ||
| 22 | runit/runsv.c | 7 +++++++ | ||
| 23 | 1 file changed, 7 insertions(+) | ||
| 24 | |||
| 25 | diff --git a/runit/runsv.c b/runit/runsv.c | ||
| 26 | index ccc762d78..737909b0e 100644 | ||
| 27 | --- a/runit/runsv.c | ||
| 28 | +++ b/runit/runsv.c | ||
| 29 | @@ -55,7 +55,14 @@ ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 30 | * typically requiring -lrt. We just skip all this mess */ | ||
| 31 | static void gettimeofday_ns(struct timespec *ts) | ||
| 32 | { | ||
| 33 | +#if defined(__NR_clock_gettime) | ||
| 34 | syscall(__NR_clock_gettime, CLOCK_REALTIME, ts); | ||
| 35 | +#elif __TIMESIZE == 64 | ||
| 36 | + syscall(__NR_clock_gettime64, CLOCK_REALTIME, ts); | ||
| 37 | +#else | ||
| 38 | +# error "We currently don't support architectures without " \ | ||
| 39 | + "the __NR_clock_gettime syscall and 32-bit time_t" | ||
| 40 | +#endif | ||
| 41 | } | ||
| 42 | #else | ||
| 43 | static void gettimeofday_ns(struct timespec *ts) | ||
| 44 | -- | ||
| 45 | 2.22.0 | ||
| 46 | |||
diff --git a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch index 2a0a40c512..35e981d6a2 100644 --- a/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch +++ b/meta/recipes-core/busybox/busybox/busybox-udhcpc-no_deconfig.patch | |||
| @@ -31,11 +31,11 @@ Signed-off-by: Andreas Oberritter <obi@opendreambox.org> | |||
| 31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ | 31 | networking/udhcp/dhcpc.c | 29 ++++++++++++++++------ |
| 32 | 1 file changed, 21 insertions(+), 8 deletions(-) | 32 | 1 file changed, 21 insertions(+), 8 deletions(-) |
| 33 | 33 | ||
| 34 | Index: busybox-1.31.0/networking/udhcp/dhcpc.c | 34 | Index: busybox-1.32.0/networking/udhcp/dhcpc.c |
| 35 | =================================================================== | 35 | =================================================================== |
| 36 | --- busybox-1.31.0.orig/networking/udhcp/dhcpc.c | 36 | --- busybox-1.32.0.orig/networking/udhcp/dhcpc.c |
| 37 | +++ busybox-1.31.0/networking/udhcp/dhcpc.c | 37 | +++ busybox-1.32.0/networking/udhcp/dhcpc.c |
| 38 | @@ -48,6 +48,8 @@ | 38 | @@ -48,6 +48,8 @@ struct tpacket_auxdata { |
| 39 | }; | 39 | }; |
| 40 | #endif | 40 | #endif |
| 41 | 41 | ||
| @@ -55,7 +55,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 55 | USE_FOR_MMU( OPTBIT_b,) | 55 | USE_FOR_MMU( OPTBIT_b,) |
| 56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) | 56 | IF_FEATURE_UDHCPC_ARPING(OPTBIT_a,) |
| 57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) | 57 | IF_FEATURE_UDHCP_PORT( OPTBIT_P,) |
| 58 | @@ -1124,7 +1128,8 @@ | 58 | @@ -1084,7 +1088,8 @@ |
| 59 | client_data.state = RENEW_REQUESTED; | 59 | client_data.state = RENEW_REQUESTED; |
| 60 | break; | 60 | break; |
| 61 | case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ | 61 | case RENEW_REQUESTED: /* impatient are we? fine, square 1 */ |
| @@ -65,7 +65,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 65 | case REQUESTING: | 65 | case REQUESTING: |
| 66 | case RELEASED: | 66 | case RELEASED: |
| 67 | change_listen_mode(LISTEN_RAW); | 67 | change_listen_mode(LISTEN_RAW); |
| 68 | @@ -1160,7 +1165,8 @@ | 68 | @@ -1120,7 +1125,8 @@ static void perform_release(uint32_t server_addr, uint32_t requested_ip) |
| 69 | * Users requested to be notified in all cases, even if not in one | 69 | * Users requested to be notified in all cases, even if not in one |
| 70 | * of the states above. | 70 | * of the states above. |
| 71 | */ | 71 | */ |
| @@ -75,7 +75,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 75 | 75 | ||
| 76 | change_listen_mode(LISTEN_NONE); | 76 | change_listen_mode(LISTEN_NONE); |
| 77 | client_data.state = RELEASED; | 77 | client_data.state = RELEASED; |
| 78 | @@ -1278,7 +1284,7 @@ | 78 | @@ -1238,7 +1244,7 @@ |
| 79 | /* Parse command line */ | 79 | /* Parse command line */ |
| 80 | opt = getopt32long(argv, "^" | 80 | opt = getopt32long(argv, "^" |
| 81 | /* O,x: list; -T,-t,-A take numeric param */ | 81 | /* O,x: list; -T,-t,-A take numeric param */ |
| @@ -84,7 +84,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 84 | USE_FOR_MMU("b") | 84 | USE_FOR_MMU("b") |
| 85 | IF_FEATURE_UDHCPC_ARPING("a::") | 85 | IF_FEATURE_UDHCPC_ARPING("a::") |
| 86 | IF_FEATURE_UDHCP_PORT("P:") | 86 | IF_FEATURE_UDHCP_PORT("P:") |
| 87 | @@ -1389,6 +1395,10 @@ | 87 | @@ -1349,6 +1355,10 @@ |
| 88 | logmode |= LOGMODE_SYSLOG; | 88 | logmode |= LOGMODE_SYSLOG; |
| 89 | } | 89 | } |
| 90 | 90 | ||
| @@ -95,7 +95,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 95 | /* Create pidfile */ | 95 | /* Create pidfile */ |
| 96 | write_pidfile(client_data.pidfile); | 96 | write_pidfile(client_data.pidfile); |
| 97 | /* Goes to stdout (unless NOMMU) and possibly syslog */ | 97 | /* Goes to stdout (unless NOMMU) and possibly syslog */ |
| 98 | @@ -1397,7 +1407,8 @@ | 98 | @@ -1357,7 +1367,8 @@ |
| 99 | srand(monotonic_us()); | 99 | srand(monotonic_us()); |
| 100 | 100 | ||
| 101 | client_data.state = INIT_SELECTING; | 101 | client_data.state = INIT_SELECTING; |
| @@ -105,17 +105,17 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 105 | change_listen_mode(LISTEN_RAW); | 105 | change_listen_mode(LISTEN_RAW); |
| 106 | packet_num = 0; | 106 | packet_num = 0; |
| 107 | timeout = 0; | 107 | timeout = 0; |
| 108 | @@ -1570,7 +1581,8 @@ | 108 | @@ -1530,7 +1541,8 @@ |
| 109 | } | 109 | } |
| 110 | /* Timed out, enter init state */ | 110 | /* Timed out, enter init state */ |
| 111 | bb_info_msg("lease lost, entering init state"); | 111 | bb_simple_info_msg("lease lost, entering init state"); |
| 112 | - udhcp_run_script(NULL, "deconfig"); | 112 | - udhcp_run_script(NULL, "deconfig"); |
| 113 | + if (allow_deconfig) | 113 | + if (allow_deconfig) |
| 114 | + udhcp_run_script(NULL, "deconfig"); | 114 | + udhcp_run_script(NULL, "deconfig"); |
| 115 | client_data.state = INIT_SELECTING; | 115 | client_data.state = INIT_SELECTING; |
| 116 | client_data.first_secs = 0; /* make secs field count from 0 */ | 116 | client_data.first_secs = 0; /* make secs field count from 0 */ |
| 117 | /*timeout = 0; - already is */ | 117 | /*timeout = 0; - already is */ |
| 118 | @@ -1762,8 +1774,10 @@ | 118 | @@ -1722,8 +1734,10 @@ |
| 119 | "(got ARP reply), declining"); | 119 | "(got ARP reply), declining"); |
| 120 | send_decline(/*xid,*/ server_addr, packet.yiaddr); | 120 | send_decline(/*xid,*/ server_addr, packet.yiaddr); |
| 121 | 121 | ||
| @@ -128,7 +128,7 @@ Index: busybox-1.31.0/networking/udhcp/dhcpc.c | |||
| 128 | change_listen_mode(LISTEN_RAW); | 128 | change_listen_mode(LISTEN_RAW); |
| 129 | client_data.state = INIT_SELECTING; | 129 | client_data.state = INIT_SELECTING; |
| 130 | client_data.first_secs = 0; /* make secs field count from 0 */ | 130 | client_data.first_secs = 0; /* make secs field count from 0 */ |
| 131 | @@ -1832,8 +1846,10 @@ | 131 | @@ -1792,8 +1806,10 @@ |
| 132 | /* return to init state */ | 132 | /* return to init state */ |
| 133 | bb_info_msg("received %s", "DHCP NAK"); | 133 | bb_info_msg("received %s", "DHCP NAK"); |
| 134 | udhcp_run_script(&packet, "nak"); | 134 | udhcp_run_script(&packet, "nak"); |
diff --git a/meta/recipes-core/busybox/busybox_1.31.1.bb b/meta/recipes-core/busybox/busybox_1.32.0.bb index 2bb1d59ba7..0dfdfdb549 100644 --- a/meta/recipes-core/busybox/busybox_1.31.1.bb +++ b/meta/recipes-core/busybox/busybox_1.32.0.bb | |||
| @@ -42,14 +42,9 @@ SRC_URI = "https://busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \ | |||
| 42 | file://0001-testsuite-check-uudecode-before-using-it.patch \ | 42 | file://0001-testsuite-check-uudecode-before-using-it.patch \ |
| 43 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ | 43 | file://0001-testsuite-use-www.example.org-for-wget-test-cases.patch \ |
| 44 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ | 44 | file://0001-du-l-works-fix-to-use-145-instead-of-144.patch \ |
| 45 | file://0001-date-Use-64-prefix-syscall-if-we-have-to.patch \ | ||
| 46 | file://0001-time-Use-64-prefix-syscall-if-we-have-to.patch \ | ||
| 47 | file://0003-runsv-Use-64-prefix-syscall-if-we-have-to.patch \ | ||
| 48 | file://0001-Remove-syscall-wrappers-around-clock_gettime-closes-.patch \ | ||
| 49 | file://0001-Remove-stime-function-calls.patch \ | ||
| 50 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ | 45 | file://0001-sysctl-ignore-EIO-of-stable_secret-below-proc-sys-ne.patch \ |
| 51 | " | 46 | " |
| 52 | SRC_URI_append_libc-musl = " file://musl.cfg " | 47 | SRC_URI_append_libc-musl = " file://musl.cfg " |
| 53 | 48 | ||
| 54 | SRC_URI[tarball.md5sum] = "70913edaf2263a157393af07565c17f0" | 49 | SRC_URI[tarball.md5sum] = "9576986f1a960da471d03b72a62f13c7" |
| 55 | SRC_URI[tarball.sha256sum] = "d0f940a72f648943c1f2211e0e3117387c31d765137d92bd8284a3fb9752a998" | 50 | SRC_URI[tarball.sha256sum] = "c35d87f1d04b2b153d33c275c2632e40d388a88f19a9e71727e0bbbff51fe689" |
