diff options
| author | Khem Raj <raj.khem@gmail.com> | 2024-03-24 22:48:56 -0700 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2024-03-24 22:52:26 -0700 |
| commit | 860d1a117a6e9640406c26fd9115fc82e604a7ff (patch) | |
| tree | 61dcde87b758fcfd382d5aeb86d38f6d184ba942 /meta-networking | |
| parent | ccff89588a5f4fa58a47f6970c6a2b1f20f06a8a (diff) | |
| download | meta-openembedded-860d1a117a6e9640406c26fd9115fc82e604a7ff.tar.gz | |
ot-daemon: Update to tip of trunk
Drop backports which are not already available
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-networking')
3 files changed, 4 insertions, 106 deletions
diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch deleted file mode 100644 index c9edb0098b..0000000000 --- a/meta-networking/recipes-connectivity/openthread/ot-daemon/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Peter Korsgaard <peter@korsgaard.com> | ||
| 3 | Date: Mon, 27 Aug 2018 22:50:57 +0200 | ||
| 4 | Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | Fixes #1910 | ||
| 10 | |||
| 11 | With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline | ||
| 12 | assembly fails to build with GCC < 5 in PIC mode with the following error: | ||
| 13 | |||
| 14 | include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ | ||
| 15 | |||
| 16 | This is because older GCC versions treated the x86 ebx register (which is | ||
| 17 | used for the GOT) as a fixed reserved register when building as PIC. | ||
| 18 | |||
| 19 | This is fixed by an improved register allocator in GCC 5+. From the release | ||
| 20 | notes: | ||
| 21 | |||
| 22 | Register allocation improvements: Reuse of the PIC hard register, instead of | ||
| 23 | using a fixed register, was implemented on x86/x86-64 targets. This | ||
| 24 | improves generated PIC code performance as more hard registers can be used. | ||
| 25 | |||
| 26 | https://www.gnu.org/software/gcc/gcc-5/changes.html | ||
| 27 | |||
| 28 | As a workaround, detect this situation and disable the inline assembly, | ||
| 29 | similar to the MULADDC_CANNOT_USE_R7 logic. | ||
| 30 | |||
| 31 | Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc] | ||
| 32 | Signed-off-by: Peter Korsgaard <peter@korsgaard.com> | ||
| 33 | --- | ||
| 34 | library/bn_mul.h | 18 +++++++++++++++++- | ||
| 35 | 1 file changed, 17 insertions(+), 1 deletion(-) | ||
| 36 | |||
| 37 | --- a/third_party/mbedtls/repo/include/mbedtls/bn_mul.h | ||
| 38 | +++ b/third_party/mbedtls/repo/include/mbedtls/bn_mul.h | ||
| 39 | @@ -55,12 +55,28 @@ | ||
| 40 | ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) | ||
| 41 | |||
| 42 | /* | ||
| 43 | + * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a | ||
| 44 | + * fixed reserved register when building as PIC, leading to errors | ||
| 45 | + * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm' | ||
| 46 | + * | ||
| 47 | + * This is fixed by an improved register allocator in GCC 5+. From the | ||
| 48 | + * release notes: | ||
| 49 | + * Register allocation improvements: Reuse of the PIC hard register, | ||
| 50 | + * instead of using a fixed register, was implemented on x86/x86-64 | ||
| 51 | + * targets. This improves generated PIC code performance as more hard | ||
| 52 | + * registers can be used. | ||
| 53 | + */ | ||
| 54 | +#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) | ||
| 55 | +#define MULADDC_CANNOT_USE_EBX | ||
| 56 | +#endif | ||
| 57 | + | ||
| 58 | +/* | ||
| 59 | * Disable use of the i386 assembly code below if option -O0, to disable all | ||
| 60 | * compiler optimisations, is passed, detected with __OPTIMIZE__ | ||
| 61 | * This is done as the number of registers used in the assembly code doesn't | ||
| 62 | * work with the -O0 option. | ||
| 63 | */ | ||
| 64 | -#if defined(__i386__) && defined(__OPTIMIZE__) | ||
| 65 | +#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) | ||
| 66 | |||
| 67 | #define MULADDC_INIT \ | ||
| 68 | asm( \ | ||
diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch b/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch deleted file mode 100644 index ffaff48dd4..0000000000 --- a/meta-networking/recipes-connectivity/openthread/ot-daemon/mbedtls.patch +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | mbedtls: Disable documentation warning as error with clang | ||
| 2 | |||
| 3 | There are shortcomings with doxygen info which clang-15+ flags, dont | ||
| 4 | treat them as errors | ||
| 5 | |||
| 6 | Remove unused variable | ||
| 7 | |||
| 8 | Fixes | ||
| 9 | library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable] | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 13 | --- a/third_party/mbedtls/repo/library/bignum.c | ||
| 14 | +++ b/third_party/mbedtls/repo/library/bignum.c | ||
| 15 | @@ -1544,7 +1544,7 @@ __attribute__ ((noinline)) | ||
| 16 | #endif | ||
| 17 | void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b ) | ||
| 18 | { | ||
| 19 | - mbedtls_mpi_uint c = 0, t = 0; | ||
| 20 | + mbedtls_mpi_uint c = 0, t __attribute__ ((unused)) = 0; | ||
| 21 | |||
| 22 | #if defined(MULADDC_HUIT) | ||
| 23 | for( ; i >= 8; i -= 8 ) | ||
| 24 | --- a/third_party/mbedtls/repo/CMakeLists.txt | ||
| 25 | +++ b/third_party/mbedtls/repo/CMakeLists.txt | ||
| 26 | @@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU) | ||
| 27 | endif(CMAKE_COMPILER_IS_GNU) | ||
| 28 | |||
| 29 | if(CMAKE_COMPILER_IS_CLANG) | ||
| 30 | - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla") | ||
| 31 | + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation") | ||
| 32 | set(CMAKE_C_FLAGS_RELEASE "-O2") | ||
| 33 | set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") | ||
| 34 | set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") | ||
diff --git a/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb b/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb index 1583a3f837..4456835410 100644 --- a/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb +++ b/meta-networking/recipes-connectivity/openthread/ot-daemon_git.bb | |||
| @@ -5,15 +5,13 @@ SUMMARY = "OpenThread Daemon is an OpenThread POSIX build mode that runs OpenThr | |||
| 5 | SECTION = "net" | 5 | SECTION = "net" |
| 6 | LICENSE = "BSD-3-Clause & Apache-2.0" | 6 | LICENSE = "BSD-3-Clause & Apache-2.0" |
| 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=543b6fe90ec5901a683320a36390c65f \ | 7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=543b6fe90ec5901a683320a36390c65f \ |
| 8 | file://third_party/mbedtls/repo/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ | 8 | file://third_party/mbedtls/repo/LICENSE;md5=379d5819937a6c2f1ef1630d341e026d \ |
| 9 | " | 9 | " |
| 10 | DEPENDS = "readline" | 10 | DEPENDS = "readline" |
| 11 | SRCREV = "7dfde1f12923f03c9680be4d838b94b7a2320324" | 11 | SRCREV = "90adc86d34e21a9e8f86d093c2190030042c4a59" |
| 12 | PV = "0.1+git" | 12 | PV = "0.1+git" |
| 13 | 13 | ||
| 14 | SRC_URI = "git://github.com/openthread/openthread.git;protocol=https;branch=main \ | 14 | SRC_URI = "git://github.com/openthread/openthread.git;protocol=https;branch=main \ |
| 15 | file://0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch \ | ||
| 16 | file://mbedtls.patch \ | ||
| 17 | " | 15 | " |
| 18 | 16 | ||
| 19 | S = "${WORKDIR}/git" | 17 | S = "${WORKDIR}/git" |
| @@ -27,3 +25,5 @@ EXTRA_OECMAKE = "-DOT_DAEMON=ON \ | |||
| 27 | -DOT_PLATFORM=posix \ | 25 | -DOT_PLATFORM=posix \ |
| 28 | -DCMAKE_BUILD_TYPE=Release \ | 26 | -DCMAKE_BUILD_TYPE=Release \ |
| 29 | " | 27 | " |
| 28 | |||
| 29 | EXTRA_OECMAKE:append:libc-musl = " -DOT_TARGET_OPENWRT=ON" | ||
