| From 90869cffbd0cd05ee663e1b81cda169dd40cdf22 Mon Sep 17 00:00:00 2001 |
| From: Chun-Hung Hsiao <chhsiao@mesosphere.io> |
| Date: Thu, 19 Apr 2018 14:15:10 -0700 |
| Subject: [PATCH] Fixed undefined `_WIN32_WINNT` for Windows compilation. |
| |
| |
| diff --git a/include/grpc/impl/codegen/port_platform.h b/include/grpc/impl/codegen/port_platform.h |
| index 819d17ce2a..77b587dac3 100644 |
| --- a/include/grpc/impl/codegen/port_platform.h |
| +++ b/include/grpc/impl/codegen/port_platform.h |
| @@ -39,6 +39,8 @@ |
| #define NOMINMAX |
| #endif /* NOMINMAX */ |
| |
| +#include <windows.h> |
| + |
| #ifndef _WIN32_WINNT |
| #error \ |
| "Please compile grpc with _WIN32_WINNT of at least 0x600 (aka Windows Vista)" |
| @@ -49,8 +51,6 @@ |
| #endif /* _WIN32_WINNT < 0x0600 */ |
| #endif /* defined(_WIN32_WINNT) */ |
| |
| -#include <windows.h> |
| - |
| #ifdef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED |
| #undef GRPC_WIN32_LEAN_AND_MEAN_WAS_NOT_DEFINED |
| #undef WIN32_LEAN_AND_MEAN |
| -- |
| 2.17.2 (Apple Git-113) |
| |
| |
| From 6531532de6a35ed8e00e24d3b60e88fd90d01335 Mon Sep 17 00:00:00 2001 |
| From: Chun-Hung Hsiao <chhsiao@mesosphere.io> |
| Date: Fri, 10 Aug 2018 14:00:03 -0700 |
| Subject: [PATCH] Removed unnecessary dependencies of `codegen_init.o` for |
| unsecure build. |
| |
| `codegen_init.cc` is listed in `LIBGRPC++_UNSECURE_SRC`, which are |
| compiled without SSL, but in `Makefile` lists SSL-required libraries as |
| its dependencies. Since the file itself does not use any bits from those |
| libraries, it is safe to remove those dependencies. |
| |
| diff --git a/Makefile b/Makefile |
| index 8bab9c3afd..9f8261f0a4 100644 |
| --- a/Makefile |
| +++ b/Makefile |
| @@ -15461,8 +15461,6 @@ $(OBJDIR)/$(CONFIG)/src/proto/grpc/testing/stats.o: $(LIBDIR)/$(CONFIG)/libgrpc |
| |
| $(OBJDIR)/$(CONFIG)/test/cpp/codegen/codegen_test_minimal.o: $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a |
| |
| -$(OBJDIR)/$(CONFIG)/src/cpp/codegen/codegen_init.o: $(LIBDIR)/$(CONFIG)/libgrpc++_core_stats.a $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a |
| - |
| deps_codegen_test_minimal: $(CODEGEN_TEST_MINIMAL_OBJS:.o=.dep) |
| |
| ifneq ($(NO_SECURE),true) |
| -- |
| 2.17.2 (Apple Git-113) |
| |
| |
| From 5c13ad2a3df1108184c716379818eab6fc0ba72d Mon Sep 17 00:00:00 2001 |
| From: Chun-Hung Hsiao <chhsiao@mesosphere.io> |
| Date: Thu, 10 Jan 2019 14:26:11 -0800 |
| Subject: [PATCH] CMake: Automatic fallbacking on system's OpenSSL if it only |
| has NPN. |
| |
| Since ALPN is not supported on some old systems that come with OpenSSL |
| version 1.0.1 or older, gRPC needs to fall back to NPN when being built |
| with these systems' OpenSSL. |
| |
| diff --git a/cmake/ssl.cmake b/cmake/ssl.cmake |
| index 83f642a675..8e2253fb39 100644 |
| --- a/cmake/ssl.cmake |
| +++ b/cmake/ssl.cmake |
| @@ -36,6 +36,10 @@ elseif("${gRPC_SSL_PROVIDER}" STREQUAL "package") |
| # project itself does not provide installation support in its CMakeLists.txt |
| # See https://cmake.org/cmake/help/v3.6/module/FindOpenSSL.html |
| find_package(OpenSSL REQUIRED) |
| + |
| + if (OPENSSL_VERSION VERSION_LESS "1.0.2") |
| + add_definitions(-DTSI_OPENSSL_ALPN_SUPPORT=0) |
| + endif() |
| |
| if(TARGET OpenSSL::SSL) |
| set(_gRPC_SSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto) |
| -- |
| 2.17.2 (Apple Git-113) |
| |
| From 46911818fec7886f0057b321e387c7c5a67a76b1 Mon Sep 17 00:00:00 2001 |
| From: Juanli Shen <juanlishen@google.com> |
| Date: Fri, 23 Aug 2019 08:46:09 -0700 |
| Subject: [PATCH 1/2] 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 d743eedf38..3c6a08839d 100644 |
| --- a/src/core/lib/gpr/log_linux.cc |
| +++ b/src/core/lib/gpr/log_linux.cc |
| @@ -39,7 +39,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, ...) { |
| @@ -65,7 +67,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, '/'); |
| -- |
| 2.29.2 |
| |
| From 8626f961aeea5770b013214c26218e806051b598 Mon Sep 17 00:00:00 2001 |
| From: Benjamin Peterson <benjamin@dropbox.com> |
| Date: Fri, 3 May 2019 08:11:00 -0700 |
| Subject: [PATCH 2/2] Rename gettid() functions. |
| |
| glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92. Rename the grpc versions to avoid naming conflicts. |
| --- |
| src/core/lib/gpr/log_linux.cc | 6 ++---- |
| src/core/lib/gpr/log_posix.cc | 4 ++-- |
| src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++-- |
| 3 files changed, 6 insertions(+), 8 deletions(-) |
| |
| diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc |
| index 3c6a08839d..b7cf86cd9b 100644 |
| --- a/src/core/lib/gpr/log_linux.cc |
| +++ b/src/core/lib/gpr/log_linux.cc |
| @@ -39,9 +39,7 @@ |
| #include <time.h> |
| #include <unistd.h> |
| |
| -// Not naming it as gettid() to avoid duplicate declarations when complied with |
| -// GCC 9.1. |
| -static long local_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, ...) { |
| @@ -67,7 +65,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 = local_gettid(); |
| + if (tid == 0) tid = sys_gettid(); |
| |
| timer = static_cast<time_t>(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 6f93cdefcd..39d943964f 100644 |
| --- a/src/core/lib/gpr/log_posix.cc |
| +++ b/src/core/lib/gpr/log_posix.cc |
| @@ -30,7 +30,7 @@ |
| #include <string.h> |
| #include <time.h> |
| |
| -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, ...) { |
| @@ -81,7 +81,7 @@ void gpr_default_log(gpr_log_func_args* args) { |
| char* prefix; |
| gpr_asprintf(&prefix, "%s%s.%09d %7tu %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 bb7622c4cc..a28d356835 100644 |
| --- a/src/core/lib/iomgr/ev_epollex_linux.cc |
| +++ b/src/core/lib/iomgr/ev_epollex_linux.cc |
| @@ -981,7 +981,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. |
| @@ -1001,7 +1001,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_polling_trace.enabled()) { |
| gpr_log(GPR_DEBUG, |
| -- |
| 2.29.2 |
| |