From 69e9c6ff4a30004371a3e57fa1cd94d658d72237 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Fri, 16 Feb 2024 15:18:45 +1300 Subject: [PATCH 1/3] third_party: bump absl LTS version Just doing this before applying a patch. Signed-off-by: Julian Oes --- third_party/absl/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/absl/CMakeLists.txt b/third_party/absl/CMakeLists.txt index 1b4735ecba..4500627191 100644 --- a/third_party/absl/CMakeLists.txt +++ b/third_party/absl/CMakeLists.txt @@ -29,7 +29,7 @@ endforeach() ExternalProject_add( absl GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git - GIT_TAG 20230802.1 + GIT_TAG 20240116.1 PREFIX absl CMAKE_ARGS "${CMAKE_ARGS}" ) From a71421530b0448d7e2ad4457c373bcadac5ad503 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Fri, 16 Feb 2024 15:19:17 +1300 Subject: [PATCH 2/3] third_party: fix illegal instruction on RPi 4 The absl library tries to make use of the crypto libraries on arm64 platforms. However, it turns out that the RPi 4 chip does not have the crypto extensions. Hence, we need to patch absl to refrain from using the hardware crypto stuff and fallback to slower software implementations. This is only required for a random back-off timer at the moment, so shouldn't matter too much. Note that the RPi 5 has the crypto extensions but our build is the same for both. Signed-off-by: Julian Oes --- third_party/absl/CMakeLists.txt | 1 + third_party/absl/rpi-no-crypto.patch | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 third_party/absl/rpi-no-crypto.patch diff --git a/third_party/absl/CMakeLists.txt b/third_party/absl/CMakeLists.txt index 4500627191..e29b2473f1 100644 --- a/third_party/absl/CMakeLists.txt +++ b/third_party/absl/CMakeLists.txt @@ -31,5 +31,6 @@ ExternalProject_add( GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git GIT_TAG 20240116.1 PREFIX absl + PATCH_COMMAND git checkout . && git apply ${PROJECT_SOURCE_DIR}/rpi-no-crypto.patch CMAKE_ARGS "${CMAKE_ARGS}" ) diff --git a/third_party/absl/rpi-no-crypto.patch b/third_party/absl/rpi-no-crypto.patch new file mode 100644 index 0000000000..51fe6e19bc --- /dev/null +++ b/third_party/absl/rpi-no-crypto.patch @@ -0,0 +1,19 @@ +diff --git a/absl/random/internal/platform.h b/absl/random/internal/platform.h +index d779f481..ea30118f 100644 +--- a/absl/random/internal/platform.h ++++ b/absl/random/internal/platform.h +@@ -116,10 +116,10 @@ + + // http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053c/IHI0053C_acle_2_0.pdf + // Rely on NEON+CRYPTO extensions for ARM. +-#if defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO) +-#undef ABSL_HAVE_ACCELERATED_AES +-#define ABSL_HAVE_ACCELERATED_AES 1 +-#endif ++//#if defined(__ARM_NEON) && defined(__ARM_FEATURE_CRYPTO) ++//#undef ABSL_HAVE_ACCELERATED_AES ++//#define ABSL_HAVE_ACCELERATED_AES 1 ++//#endif + + #endif + From be11e42ed573e6c64584bb8df259b01a66052ba8 Mon Sep 17 00:00:00 2001 From: Julian Oes Date: Mon, 19 Feb 2024 07:19:49 +1300 Subject: [PATCH 3/3] third_party: update gRPC as well Signed-off-by: Julian Oes --- third_party/grpc/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/grpc/CMakeLists.txt b/third_party/grpc/CMakeLists.txt index 1a3e0f0d11..66786f2640 100644 --- a/third_party/grpc/CMakeLists.txt +++ b/third_party/grpc/CMakeLists.txt @@ -53,7 +53,7 @@ endforeach() ExternalProject_add( grpc - URL https://github.com/grpc/grpc/archive/v1.60.0.tar.gz + URL https://github.com/grpc/grpc/archive/v1.61.1.tar.gz PREFIX grpc CMAKE_ARGS "${CMAKE_ARGS}" )