Files
buildroot/package/grpc/0001-Properly-detect-the-availability-of-pthread_setname_.patch
Michael Nosthoff 656fc0f78e package/grpc: bump to version 1.76.0
- use new flag gRPC_DOWNLOAD_ARCHIVES=OFF which removed the need for
  patch 0003
- refresh patches
- update 0002 to properly apply and re-enable utf8_range_lib as its linked
  against grpc_plugin_support

Release Notes since 1.66:
https://github.com/grpc/grpc/releases/tag/v1.67.0
https://github.com/grpc/grpc/releases/tag/v1.68.0
https://github.com/grpc/grpc/releases/tag/v1.69.0
https://github.com/grpc/grpc/releases/tag/v1.70.0
https://github.com/grpc/grpc/releases/tag/v1.71.0
https://github.com/grpc/grpc/releases/tag/v1.72.0
https://github.com/grpc/grpc/releases/tag/v1.73.0
https://github.com/grpc/grpc/releases/tag/v1.74.0
https://github.com/grpc/grpc/releases/tag/v1.75.0
https://github.com/grpc/grpc/releases/tag/v1.76.0

Fixes: 2d19a0b332 "package/{python-}protobuf: bump to version 33.2"

This bump of protobuf broke the build of grpc 1.66.1, which can be
reproduced with:

BR2_arm=y
BR2_cortex_a53=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_PACKAGE_COLLECTD=y
BR2_PACKAGE_COLLECTD_GRPC=y

Fixes:

  https://autobuild.buildroot.net/results/84764134062f28f86ecb1646a536ee4862e4f8df/

Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2026-02-02 22:51:55 +01:00

67 lines
2.3 KiB
Diff

From 3e9f278145fafbfe15a868d0f9032ba590078c3b Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: Mon, 31 Dec 2018 16:22:07 +0100
Subject: [PATCH] Properly detect the availability of pthread_setname_np()
This commit adds a CMake check for the availability of
pthread_setname_np(), and only uses it on Linux when available.
Indeed, some C libraries, such as uClibc, do not provide this
non-POSIX function in all cases.
Upstream: https://github.com/grpc/grpc/pull/17610
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
[buildroot@heine.tech:
1.42.0 added new logic to handle older glibc without pthread_setname_np()
but is still not sufficient for all cases. So alter the patch to wrap all
this with our cmake based workaround.
See: https://github.com/grpc/grpc/pull/27540
]
Signed-off-by: Michael Nosthoff <buildroot@heine.tech>
---
CMakeLists.txt | 6 ++++++
include/grpc/support/port_platform.h | 2 ++
2 files changed, 8 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f652a4055c..a2c978c7d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -303,6 +303,12 @@ if (NOT DEFINED CMAKE_POSITION_INDEPENDENT_CODE)
endif()
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules")
+include(CheckSymbolExists)
+check_symbol_exists(pthread_setname_np pthread.h HAVE_PTHREAD_SETNAME_NP)
+if (HAVE_PTHREAD_SETNAME_NP)
+ add_definitions(-DHAVE_PTHREAD_SETNAME_NP)
+endif ()
+
if(MSVC)
include(cmake/msvc_static_runtime.cmake)
add_definitions(-D_WIN32_WINNT=0x600 -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINSOCK_DEPRECATED_NO_WARNINGS)
diff --git a/include/grpc/support/port_platform.h b/include/grpc/support/port_platform.h
index 04a90fbf8a..6718233782 100644
--- a/include/grpc/support/port_platform.h
+++ b/include/grpc/support/port_platform.h
@@ -236,6 +236,7 @@
#endif /* _LP64 */
#ifdef __GLIBC__
#define GPR_POSIX_CRASH_HANDLER 1
+#if defined(HAVE_PTHREAD_SETNAME_NP)
#ifdef __GLIBC_PREREQ
#if __GLIBC_PREREQ(2, 12)
#define GPR_LINUX_PTHREAD_NAME 1
@@ -244,6 +245,7 @@
// musl libc & others
#define GPR_LINUX_PTHREAD_NAME 1
#endif
+#endif /* HAVE_PTHREAD_SETNAME_NP */
#include <linux/version.h>
#else /* musl libc */
#define GPR_MUSL_LIBC_COMPAT 1
--
2.43.0