aboutsummaryrefslogtreecommitdiffstats
path: root/meta-networking/recipes-connectivity/openthread/ot-br-posix
diff options
context:
space:
mode:
Diffstat (limited to 'meta-networking/recipes-connectivity/openthread/ot-br-posix')
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-bn_mul.h-fix-x86-PIC-inline-ASM-compilation-with-GCC.patch68
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/0001-cmake-Disable-nonnull-compare-warning-on-gcc.patch9
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/default-cxx-std.patch35
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/mbedtls.patch43
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/musl-fixes.patch26
-rw-r--r--meta-networking/recipes-connectivity/openthread/ot-br-posix/unused_var.patch10
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);
- }