From 0f284db1fc206a52e93398f5c288c2f43a8ae937 Mon Sep 17 00:00:00 2001 From: Nikita Mikhaylov Date: Thu, 2 Sep 2021 22:33:04 +0000 Subject: [PATCH 1/3] Done --- src/Functions/CRC.cpp | 1 + src/IO/ZlibDeflatingWriteBuffer.h | 3 +++ src/IO/ZlibInflatingReadBuffer.h | 1 + src/IO/examples/zlib_ng_bug.cpp | 2 ++ 4 files changed, 7 insertions(+) diff --git a/src/Functions/CRC.cpp b/src/Functions/CRC.cpp index 00aa631c85b..aa162a39f6c 100644 --- a/src/Functions/CRC.cpp +++ b/src/Functions/CRC.cpp @@ -1,3 +1,4 @@ +#define Z_TLS = __thread #include #include #include diff --git a/src/IO/ZlibDeflatingWriteBuffer.h b/src/IO/ZlibDeflatingWriteBuffer.h index 6f623f55f56..a9f87f5cd29 100644 --- a/src/IO/ZlibDeflatingWriteBuffer.h +++ b/src/IO/ZlibDeflatingWriteBuffer.h @@ -4,6 +4,9 @@ #include #include +/// https://github.com/zlib-ng/zlib-ng/pull/733 +/// This is disabed by default +#define Z_TLS = __thread #include diff --git a/src/IO/ZlibInflatingReadBuffer.h b/src/IO/ZlibInflatingReadBuffer.h index b8c141e9b9b..562a9b8c3a8 100644 --- a/src/IO/ZlibInflatingReadBuffer.h +++ b/src/IO/ZlibInflatingReadBuffer.h @@ -4,6 +4,7 @@ #include #include +#define Z_TLS = __thread #include diff --git a/src/IO/examples/zlib_ng_bug.cpp b/src/IO/examples/zlib_ng_bug.cpp index e9b3c448b88..68eb2ce2c77 100644 --- a/src/IO/examples/zlib_ng_bug.cpp +++ b/src/IO/examples/zlib_ng_bug.cpp @@ -1,6 +1,8 @@ #include #include #include + +#define Z_TLS = __thread #include #pragma GCC diagnostic ignored "-Wold-style-cast" From f8020a1f0705a2ee41b9291bd562e81e1d6ba67d Mon Sep 17 00:00:00 2001 From: Nikita Mikhaylov Date: Thu, 2 Sep 2021 22:47:51 +0000 Subject: [PATCH 2/3] Fix build --- src/Functions/CRC.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/Functions/CRC.cpp b/src/Functions/CRC.cpp index aa162a39f6c..00aa631c85b 100644 --- a/src/Functions/CRC.cpp +++ b/src/Functions/CRC.cpp @@ -1,4 +1,3 @@ -#define Z_TLS = __thread #include #include #include From a3f008c626aedfb0fa30e9d5f4a127c76c39931b Mon Sep 17 00:00:00 2001 From: Nikita Mikhaylov Date: Fri, 3 Sep 2021 08:30:03 +0000 Subject: [PATCH 3/3] Enable define from cmake --- cmake/find/zlib.cmake | 3 +++ src/IO/ZlibDeflatingWriteBuffer.h | 4 +--- src/IO/ZlibInflatingReadBuffer.h | 2 +- src/IO/examples/zlib_ng_bug.cpp | 1 - 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/find/zlib.cmake b/cmake/find/zlib.cmake index bd96424b60d..f66f9e6713d 100644 --- a/cmake/find/zlib.cmake +++ b/cmake/find/zlib.cmake @@ -29,6 +29,9 @@ if (NOT USE_INTERNAL_ZLIB_LIBRARY) endif () if (NOT ZLIB_FOUND AND NOT MISSING_INTERNAL_ZLIB_LIBRARY) + # https://github.com/zlib-ng/zlib-ng/pull/733 + # This is disabed by default + add_compile_definitions(Z_TLS=__thread) set (USE_INTERNAL_ZLIB_LIBRARY 1) set (ZLIB_INCLUDE_DIR "${ClickHouse_SOURCE_DIR}/contrib/${INTERNAL_ZLIB_NAME}" "${ClickHouse_BINARY_DIR}/contrib/${INTERNAL_ZLIB_NAME}" CACHE INTERNAL "") # generated zconf.h set (ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE_DIR}) # for poco diff --git a/src/IO/ZlibDeflatingWriteBuffer.h b/src/IO/ZlibDeflatingWriteBuffer.h index a9f87f5cd29..132f529cc54 100644 --- a/src/IO/ZlibDeflatingWriteBuffer.h +++ b/src/IO/ZlibDeflatingWriteBuffer.h @@ -4,9 +4,7 @@ #include #include -/// https://github.com/zlib-ng/zlib-ng/pull/733 -/// This is disabed by default -#define Z_TLS = __thread + #include diff --git a/src/IO/ZlibInflatingReadBuffer.h b/src/IO/ZlibInflatingReadBuffer.h index 562a9b8c3a8..e868dd6999d 100644 --- a/src/IO/ZlibInflatingReadBuffer.h +++ b/src/IO/ZlibInflatingReadBuffer.h @@ -4,7 +4,7 @@ #include #include -#define Z_TLS = __thread + #include diff --git a/src/IO/examples/zlib_ng_bug.cpp b/src/IO/examples/zlib_ng_bug.cpp index 68eb2ce2c77..9fe3c961913 100644 --- a/src/IO/examples/zlib_ng_bug.cpp +++ b/src/IO/examples/zlib_ng_bug.cpp @@ -2,7 +2,6 @@ #include #include -#define Z_TLS = __thread #include #pragma GCC diagnostic ignored "-Wold-style-cast"