From b2dcf0347f1ee5041cccd64632bb8dd7ccbbae91 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Tue, 21 Jun 2016 12:40:26 +0200 Subject: [PATCH] curl-compilers.m4: improve detection of GCC's -fvisibility= flag Some builds of GCC produce output on both stdout and stderr when --help --verbose is used. The 2>&1 redirection caused them to be arbitrarily interleaved with each other because of stream buffering. Consequently, grep failed to match the fvisibility= string in the mixed output, even though the string was present in GCC's standard output. This led to silently disabling symbol hiding in some builds of curl. --- RELEASE-NOTES | 1 + m4/curl-compilers.m4 | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index da5086630..172a599b6 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -25,6 +25,7 @@ This release includes the following bugfixes: o http: Fix HTTP/2 connection reuse [regression] [12] o checksrc: Add LoadLibrary to the banned functions list o schannel: Disable ALPN on Windows < 8.1 [13] + o configure: occasional ignorance of --enable-symbol-hiding with GCC This release includes the following known bugs: diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4 index 085c6ff64..6ecd3237b 100644 --- a/m4/curl-compilers.m4 +++ b/m4/curl-compilers.m4 @@ -21,7 +21,7 @@ #*************************************************************************** # File version for 'aclocal' use. Keep it a single number. -# serial 66 +# serial 67 dnl CURL_CHECK_COMPILER @@ -1374,7 +1374,7 @@ AC_DEFUN([CURL_CHECK_COMPILER_SYMBOL_HIDING], [ GNU_C) dnl Only gcc 3.4 or later if test "$compiler_num" -ge "304"; then - if $CC --help --verbose 2>&1 | grep fvisibility= > /dev/null ; then + if $CC --help --verbose 2>/dev/null | grep fvisibility= >/dev/null ; then tmp_EXTERN="__attribute__ ((__visibility__ (\"default\")))" tmp_CFLAGS="-fvisibility=hidden" supports_symbol_hiding="yes" -- 2.40.0