added my Recipes
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
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( \
|
||||
@@ -0,0 +1,40 @@
|
||||
From aa706d714294b83db696de2beca9a722a512796f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 19 Apr 2022 14:04:40 -0700
|
||||
Subject: [PATCH] cmake: Disable nonnull-compare warning on gcc
|
||||
|
||||
GCC finds a legit warning which clang does not on code like this
|
||||
|
||||
class Message;
|
||||
void SendResponse(Message & aMessage)
|
||||
{
|
||||
if ((&aMessage) != nullptr) { return; }
|
||||
}
|
||||
|
||||
Perhaps it should be fixed upstream but for now disable treating this
|
||||
warning as error when using gcc
|
||||
|
||||
Upstream-Status: Pending
|
||||
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()
|
||||
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
+if (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
+ add_compile_options(-Wno-error=nonnull-compare)
|
||||
+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)
|
||||
--
|
||||
2.36.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From ed60d4605b81c43b9ba9504a37835109c247c6f8 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Schmidt <stefan.schmidt@huawei.com>
|
||||
Date: Fri, 1 Apr 2022 21:46:03 +0200
|
||||
Subject: [PATCH] otbr-agent.service.in: remove pre exec hook for mdns service
|
||||
|
||||
It uses the service command which is not available in all cases under
|
||||
Yocto/OE. The upstream project uses this mainly with Ubuntu and Raspian
|
||||
as testbeds.
|
||||
|
||||
In our case we simply ensure that avahi-daemon is installed on the
|
||||
system inside the recipe.
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Stefan Schmidt <stefan.schmidt@huawei.com>
|
||||
---
|
||||
src/agent/otbr-agent.service.in | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/agent/otbr-agent.service.in b/src/agent/otbr-agent.service.in
|
||||
index 8314121347..4c97869def 100644
|
||||
--- a/src/agent/otbr-agent.service.in
|
||||
+++ b/src/agent/otbr-agent.service.in
|
||||
@@ -6,7 +6,7 @@ After=dbus.socket
|
||||
|
||||
[Service]
|
||||
EnvironmentFile=-@CMAKE_INSTALL_FULL_SYSCONFDIR@/default/otbr-agent
|
||||
-@EXEC_START_PRE@ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/otbr-agent $OTBR_AGENT_OPTS
|
||||
+ExecStart=@CMAKE_INSTALL_FULL_SBINDIR@/otbr-agent $OTBR_AGENT_OPTS
|
||||
KillMode=mixed
|
||||
Restart=on-failure
|
||||
RestartSec=5
|
||||
--
|
||||
2.35.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
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, t __attribute__ ((unused)) = 0;
|
||||
|
||||
#if defined(MULADDC_HUIT)
|
||||
for( ; i >= 8; i -= 8 )
|
||||
--- 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")
|
||||
@@ -0,0 +1,10 @@
|
||||
--- 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);
|
||||
}
|
||||
Reference in New Issue
Block a user