diff --git a/0003-fix-make-error-under-gcc-9-from-19647-18950.patch b/0003-fix-make-error-under-gcc-9-from-19647-18950.patch new file mode 100644 index 0000000000000000000000000000000000000000..2da403ddbb94cc24fe2fb953f58873c16b3dc145 --- /dev/null +++ b/0003-fix-make-error-under-gcc-9-from-19647-18950.patch @@ -0,0 +1,95 @@ +From 5b2d433029e7e875251ed680fbef75996fc7d6bd Mon Sep 17 00:00:00 2001 +From: jinghan.chen +Date: Wed, 19 Feb 2020 18:36:34 +0800 +Subject: [PATCH] fix make error under gcc 9 from 19647 18950 + +--- + include/grpcpp/impl/codegen/call_op_set.h | 3 +++ + src/core/lib/gpr/log_linux.cc | 4 ++-- + src/core/lib/gpr/log_posix.cc | 4 ++-- + src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++-- + 4 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/include/grpcpp/impl/codegen/call_op_set.h b/include/grpcpp/impl/codegen/call_op_set.h +index c3ae6c4..8fc8e9b 100644 +--- a/include/grpcpp/impl/codegen/call_op_set.h ++++ b/include/grpcpp/impl/codegen/call_op_set.h +@@ -88,6 +88,9 @@ class WriteOptions { + WriteOptions(const WriteOptions& other) + : flags_(other.flags_), last_message_(other.last_message_) {} + ++ /// Default assignment operator ++ WriteOptions& operator=(const WriteOptions& other) = default; ++ + /// Clear all flags. + inline void Clear() { flags_ = 0; } + +diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc +index 561276f..8b597b4 100644 +--- a/src/core/lib/gpr/log_linux.cc ++++ b/src/core/lib/gpr/log_linux.cc +@@ -40,7 +40,7 @@ + #include + #include + +-static long gettid(void) { return syscall(__NR_gettid); } ++static long sys_gettid(void) { return syscall(__NR_gettid); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -70,7 +70,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 = sys_gettid(); + + timer = static_cast(now.tv_sec); + final_slash = strrchr(args->file, '/'); +diff --git a/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc +index b6edc14..2f7c6ce 100644 +--- a/src/core/lib/gpr/log_posix.cc ++++ b/src/core/lib/gpr/log_posix.cc +@@ -31,7 +31,7 @@ + #include + #include + +-static intptr_t gettid(void) { return (intptr_t)pthread_self(); } ++static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); } + + void gpr_log(const char* file, int line, gpr_log_severity severity, + const char* format, ...) { +@@ -86,7 +86,7 @@ void gpr_default_log(gpr_log_func_args* args) { + char* prefix; + gpr_asprintf(&prefix, "%s%s.%09d %7" PRIdPTR " %s:%d]", + gpr_log_severity_string(args->severity), time_buffer, +- (int)(now.tv_nsec), gettid(), display_file, args->line); ++ (int)(now.tv_nsec), sys_gettid(), display_file, args->line); + + fprintf(stderr, "%-70s %s\n", prefix, args->message); + gpr_free(prefix); +diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc +index 08116b3..76f5984 100644 +--- a/src/core/lib/iomgr/ev_epollex_linux.cc ++++ b/src/core/lib/iomgr/ev_epollex_linux.cc +@@ -1102,7 +1102,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker, + } + + #ifndef NDEBUG +-static long gettid(void) { return syscall(__NR_gettid); } ++static long sys_gettid(void) { return syscall(__NR_gettid); } + #endif + + /* pollset->mu lock must be held by the caller before calling this. +@@ -1122,7 +1122,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset, + #define WORKER_PTR (&worker) + #endif + #ifndef NDEBUG +- WORKER_PTR->originator = gettid(); ++ WORKER_PTR->originator = sys_gettid(); + #endif + if (GRPC_TRACE_FLAG_ENABLED(grpc_polling_trace)) { + gpr_log(GPR_INFO, +-- +2.23.0 + diff --git a/grpc.spec b/grpc.spec index 1c274ec956e0f68b766b704700097d6239f215af..23b8c1154ca9a93ca86ced74ce0067c3315c329a 100644 --- a/grpc.spec +++ b/grpc.spec @@ -1,6 +1,6 @@ Name: grpc Version: 1.22.0 -Release: 2 +Release: 3 Summary: A modern, open source high performance RPC framework that can run in any environment License: ASL 2.0 URL: https://www.grpc.io @@ -10,6 +10,7 @@ Patch9000: 0001-cxx-Arg-List-Too-Long.patch Patch9001: 0002-add-secure-compile-option-in-Makefile.patch Patch0002: 0002-patch-from-15532.patch +Patch0003: 0003-fix-make-error-under-gcc-9-from-19647-18950.patch BuildRequires: gcc-c++ pkgconfig protobuf-devel protobuf-compiler BuildRequires: openssl-devel c-ares-devel gflags-devel gtest-devel zlib-devel gperftools-devel @@ -93,6 +94,9 @@ make install-grpc-cli prefix="%{buildroot}%{_prefix}" %{python3_sitearch}/grpcio-%{version}-py?.?.egg-info %changelog +* Wed Feb 19 2020 jinghan.chen - 1.22.0-3 +- Fix make error: "implicitly-declared operator= is deprecated" and rename gettid() functions, patches from 19647&18950 + * Sat Jan 11 2020 openEuler Buildteam - 1.22.0-2 - Delete unused patch