diff options
author | Remi Collet <remi@remirepo.net> | 2019-08-24 08:05:27 +0200 |
---|---|---|
committer | Remi Collet <remi@remirepo.net> | 2019-08-24 08:05:27 +0200 |
commit | 94c40d3f9e798a29f9250a0dcff2c767c16a5391 (patch) | |
tree | c96cbd3a3ac421ea58e63783c8fd07e6cd323934 | |
parent | 900e365e49f959e08d9431646198aaced55d59d7 (diff) |
- fix build with GCC 9.1 with upstream patch and patch from https://github.com/grpc/grpc/pull/20067
-rw-r--r-- | grpc-gcc91.patch | 66 | ||||
-rw-r--r-- | php-pecl-grpc.spec | 8 |
2 files changed, 73 insertions, 1 deletions
diff --git a/grpc-gcc91.patch b/grpc-gcc91.patch new file mode 100644 index 0000000..6e6be27 --- /dev/null +++ b/grpc-gcc91.patch @@ -0,0 +1,66 @@ +From de6255941a5e1c2fb2d50e57f84e38c09f45023d Mon Sep 17 00:00:00 2001 +From: Juanli Shen <juanlishen@google.com> +Date: Fri, 23 Aug 2019 08:46:09 -0700 +Subject: [PATCH] Fix gettid() naming conflict + +--- + src/core/lib/gpr/log_linux.cc | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc +index 561276f0c20..81026e5689b 100644 +--- a/src/core/lib/gpr/log_linux.cc ++++ b/src/core/lib/gpr/log_linux.cc +@@ -40,7 +40,9 @@ + #include <time.h> + #include <unistd.h> + +-static long gettid(void) { return syscall(__NR_gettid); } ++// Not naming it as gettid() to avoid duplicate declarations when complied with ++// GCC 9.1. ++static long local_gettid(void) { return syscall(__NR_gettid); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -70,7 +72,7 @@ void gpr_default_log(gpr_log_func_args* args) { + gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); + struct tm tm; + static __thread long tid = 0; +- if (tid == 0) tid = gettid(); ++ if (tid == 0) tid = local_gettid(); + + timer = static_cast<time_t>(now.tv_sec); + final_slash = strrchr(args->file, '/'); + + +From c0763be75f4cd9216e89c22fb30449d38b83b74c Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Sat, 24 Aug 2019 07:57:56 +0200 +Subject: [PATCH] fix gettid() naming conflict + +--- + src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc +index c2d80c08ddb..aec4d813610 100644 +--- a/src/core/lib/iomgr/ev_epollex_linux.cc ++++ b/src/core/lib/iomgr/ev_epollex_linux.cc +@@ -1077,7 +1077,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker, + } + + #ifndef NDEBUG +-static long gettid(void) { return syscall(__NR_gettid); } ++static long local_gettid(void) { return syscall(__NR_gettid); } + #endif + + /* pollset->mu lock must be held by the caller before calling this. +@@ -1097,7 +1097,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset, + #define WORKER_PTR (&worker) + #endif + #ifndef NDEBUG +- WORKER_PTR->originator = gettid(); ++ WORKER_PTR->originator = local_gettid(); + #endif + if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) { + gpr_log(GPR_INFO, diff --git a/php-pecl-grpc.spec b/php-pecl-grpc.spec index 85f6af8..3ff3b75 100644 --- a/php-pecl-grpc.spec +++ b/php-pecl-grpc.spec @@ -30,13 +30,14 @@ Summary: General RPC framework Name: %{?sub_prefix}php-pecl-%{pecl_name} Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}} -Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} +Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: ASL 2.0 URL: http://pecl.php.net/package/%{pecl_name} Source0: http://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz Patch0: %{pecl_name}-build.patch Patch1: %{pecl_name}-noatfork.patch +Patch2: %{pecl_name}-gcc91.patch BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?dtsprefix}gcc-c++ @@ -108,6 +109,7 @@ cd NTS %ifarch %{arm} %patch1 -p2 -b .noatfork %endif +%patch2 -p1 -b .gcc91 # Sanity check, really often broken extver=$(sed -n '/PHP_GRPC_VERSION/{s/.* "//;s/".*$//;p}' src/php/ext/grpc/version.h) @@ -231,6 +233,10 @@ cd ../ZTS %changelog +* Sat Aug 24 2019 Remi Collet <remi@remirepo.net> - 1.23.0-2 +- fix build with GCC 9.1 with upstream patch and patch from + https://github.com/grpc/grpc/pull/20067 + * Sat Aug 17 2019 Remi Collet <remi@remirepo.net> - 1.23.0-1 - Update to 1.23.0 |