diff options
Diffstat (limited to 'meta-networking/recipes-connectivity/openthread/ot-br-posix')
6 files changed, 63 insertions, 128 deletions
diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch deleted file mode 100644 index 8122e725e7..0000000000 --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch +++ /dev/null @@ -1,68 +0,0 @@ -From c0546e351f6d7ab50eb1de8cef1d0d167760fccc Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard <peter@korsgaard.com> -Date: Mon, 27 Aug 2018 22:50:57 +0200 -Subject: [PATCH] bn_mul.h: fix x86 PIC inline ASM compilation with GCC < 5 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes #1910 - -With ebx added to the MULADDC_STOP clobber list to fix #1550, the inline -assembly fails to build with GCC < 5 in PIC mode with the following error: - -include/mbedtls/bn_mul.h:46:13: error: PIC register clobbered by ‘ebx’ in ‘asm’ - -This is because older GCC versions treated the x86 ebx register (which is -used for the GOT) as a fixed reserved register when building as PIC. - -This is fixed by an improved register allocator in GCC 5+. From the release -notes: - -Register allocation improvements: Reuse of the PIC hard register, instead of -using a fixed register, was implemented on x86/x86-64 targets. This -improves generated PIC code performance as more hard registers can be used. - -https://www.gnu.org/software/gcc/gcc-5/changes.html - -As a workaround, detect this situation and disable the inline assembly, -similar to the MULADDC_CANNOT_USE_R7 logic. - -Upstream-Status: Backport [https://github.com/Mbed-TLS/mbedtls/commit/c0546e351f6d7ab50eb1de8cef1d0d167760fccc] -Signed-off-by: Peter Korsgaard <peter@korsgaard.com> ---- - library/bn_mul.h | 18 +++++++++++++++++- - 1 file changed, 17 insertions(+), 1 deletion(-) - ---- a/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h -+++ b/third_party/openthread/repo/third_party/mbedtls/repo/include/mbedtls/bn_mul.h -@@ -55,12 +55,28 @@ - ( !defined(__ARMCC_VERSION) || __ARMCC_VERSION >= 6000000 ) - - /* -+ * GCC < 5.0 treated the x86 ebx (which is used for the GOT) as a -+ * fixed reserved register when building as PIC, leading to errors -+ * like: bn_mul.h:46:13: error: PIC register clobbered by 'ebx' in 'asm' -+ * -+ * This is fixed by an improved register allocator in GCC 5+. From the -+ * release notes: -+ * Register allocation improvements: Reuse of the PIC hard register, -+ * instead of using a fixed register, was implemented on x86/x86-64 -+ * targets. This improves generated PIC code performance as more hard -+ * registers can be used. -+ */ -+#if defined(__GNUC__) && __GNUC__ < 5 && defined(__PIC__) -+#define MULADDC_CANNOT_USE_EBX -+#endif -+ -+/* - * Disable use of the i386 assembly code below if option -O0, to disable all - * compiler optimisations, is passed, detected with __OPTIMIZE__ - * This is done as the number of registers used in the assembly code doesn't - * work with the -O0 option. - */ --#if defined(__i386__) && defined(__OPTIMIZE__) -+#if defined(__i386__) && defined(__OPTIMIZE__) && !defined(MULADDC_CANNOT_USE_EBX) - - #define MULADDC_INIT \ - asm( \ diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch index f0bb392a9f..7c32166797 100644 --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch @@ -20,13 +20,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> CMakeLists.txt | 4 ++++ 1 file changed, 4 insertions(+) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 59a567e729..3134740ff6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -57,6 +57,10 @@ endif() - +@@ -59,6 +59,10 @@ endif() set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_EXE_LINKER_FLAGS "-rdynamic ${CMAKE_EXE_LINKER_FLAGS}") +if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") + add_compile_options(-Wno-error=nonnull-compare) @@ -35,6 +33,3 @@ index 59a567e729..3134740ff6 100644 if (OTBR_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") message(STATUS "Coverage: ON") target_compile_options(otbr-config INTERFACE -g -O0 --coverage) --- -2.36.0 - diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/default-cxx-std.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/default-cxx-std.patch new file mode 100644 index 0000000000..4118887cb9 --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/default-cxx-std.patch @@ -0,0 +1,35 @@ +Do not hardcode C std to C99 or C++ std to C++11 if not set +OE compilers are using newer than these standards and absl needs C++14 minimum + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -46,16 +46,6 @@ set_property(CACHE OTBR_MDNS PROPERTY ST + + include("${PROJECT_SOURCE_DIR}/etc/cmake/options.cmake") + +-if(NOT CMAKE_C_STANDARD) +- set(CMAKE_C_STANDARD 99) +- set(CMAKE_C_STANDARD_REQUIRED ON) +-endif() +- +-if(NOT CMAKE_CXX_STANDARD) +- set(CMAKE_CXX_STANDARD 11) +- set(CMAKE_CXX_STANDARD_REQUIRED ON) +-endif() +- + set(CMAKE_CXX_EXTENSIONS OFF) + set(CMAKE_EXE_LINKER_FLAGS "-rdynamic ${CMAKE_EXE_LINKER_FLAGS}") + +@@ -63,6 +53,10 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU") + add_compile_options(-Wno-error=nonnull-compare) + endif() + ++if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 18.1) ++ add_compile_options(-Wno-error=vla-cxx-extension) ++endif() ++ + if (OTBR_COVERAGE AND CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + message(STATUS "Coverage: ON") + target_compile_options(otbr-config INTERFACE -g -O0 --coverage) diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch deleted file mode 100644 index 91b3046484..0000000000 --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch +++ /dev/null @@ -1,43 +0,0 @@ -mbedtls: Disable documentation warning as error with clang - -There are shortcomings with doxygen info which clang-15+ flags, dont -treat them as errors - -Remove unused variable - -Fixes -library/bignum.c:1395:29: error: variable 't' set but not used [-Werror,-Wunused-but-set-variable] - -Upstream-Status: Pending -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- a/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c -+++ b/third_party/openthread/repo/third_party/mbedtls/repo/library/bignum.c -@@ -1544,7 +1544,7 @@ __attribute__ ((noinline)) - #endif - void mpi_mul_hlp( size_t i, mbedtls_mpi_uint *s, mbedtls_mpi_uint *d, mbedtls_mpi_uint b ) - { -- mbedtls_mpi_uint c = 0, t = 0; -+ mbedtls_mpi_uint c = 0; - - #if defined(MULADDC_HUIT) - for( ; i >= 8; i -= 8 ) -@@ -1595,8 +1595,6 @@ void mpi_mul_hlp( size_t i, mbedtls_mpi_ - } - #endif /* MULADDC_HUIT */ - -- t++; -- - do { - *d += c; c = ( *d < c ); d++; - } ---- a/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt -+++ b/third_party/openthread/repo/third_party/mbedtls/repo/CMakeLists.txt -@@ -192,7 +192,7 @@ if(CMAKE_COMPILER_IS_GNU) - endif(CMAKE_COMPILER_IS_GNU) - - if(CMAKE_COMPILER_IS_CLANG) -- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla") -+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Wwrite-strings -Wpointer-arith -Wimplicit-fallthrough -Wshadow -Wvla -Wno-error=documentation") - set(CMAKE_C_FLAGS_RELEASE "-O2") - set(CMAKE_C_FLAGS_DEBUG "-O0 -g3") - set(CMAKE_C_FLAGS_COVERAGE "-O0 -g3 --coverage") diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/musl-fixes.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/musl-fixes.patch new file mode 100644 index 0000000000..279a60741f --- /dev/null +++ b/meta-networking/recipes-connectivity/openthread/ot-br-posix/musl-fixes.patch @@ -0,0 +1,26 @@ +Musl fixes, which should be applied upstream too + +Upstream-Status: Pending +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- a/src/dbus/common/types.hpp ++++ b/src/dbus/common/types.hpp +@@ -715,7 +715,7 @@ struct TrelInfo + }; + + bool mEnabled; ///< Whether TREL is enabled. +- u_int16_t mNumTrelPeers; ///< The number of TREL peers. ++ uint16_t mNumTrelPeers; ///< The number of TREL peers. + TrelPacketCounters mTrelCounters; ///< The TREL counters. + }; + +--- a/third_party/openthread/repo/src/posix/platform/CMakeLists.txt ++++ b/third_party/openthread/repo/src/posix/platform/CMakeLists.txt +@@ -172,7 +172,7 @@ target_link_libraries(openthread-posix + ) + + option(OT_TARGET_OPENWRT "enable openthread posix for OpenWRT" OFF) +-if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT) ++if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux" AND NOT OT_TARGET_OPENWRT AND NOT OT_TARGET_MUSL) + target_compile_definitions(ot-posix-config + INTERFACE "OPENTHREAD_POSIX_CONFIG_NAT64_AIL_PREFIX_ENABLE=1" + ) diff --git a/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch b/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch deleted file mode 100644 index 9727cbafd8..0000000000 --- a/meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/third_party/openthread/repo/src/cli/cli.cpp -+++ b/third_party/openthread/repo/src/cli/cli.cpp -@@ -1785,6 +1785,7 @@ template <> otError Interpreter::Process - - for (uint8_t i = 0;; i++) - { -+ OT_UNUSED_VARIABLE(i); - SuccessOrExit(otThreadGetNextCacheEntry(GetInstancePtr(), &entry, &iterator)); - OutputEidCacheEntry(entry); - } |