]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Build with -fvisibility=hidden by default 11178/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 13 Jan 2022 12:00:30 +0000 (13:00 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Thu, 13 Jan 2022 12:00:30 +0000 (13:00 +0100)
Not marking our symbols visible by default allows the compiler to do
better optimizations, especially with Link-Time Optimizations that
several distributions are now enabling by default.
The most obvious optimization comes from dead code removal because
the compiler now knows that it cannot be used by an external shared
object, but better inlining might also occur.
Even without LTO, it reduces the final size of stripped binaries and
might improve loading times a bit.

Note that we already mark the symbols that we want to export with the
'default' visibilty, for example for Lua FFI.

pdns/dnsdistdist/configure.ac

index 1846f17580e2a5aa3bd3768205e59fb70586d783..b5757f088d5a14654ef509c43abc67037f47335b 100644 (file)
@@ -18,8 +18,8 @@ AC_DEFINE([DNSDIST], [1],
 LT_PREREQ([2.2.2])
 LT_INIT([disable-static])
 
-CFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter $CFLAGS"
-CXXFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -Wmissing-declarations -Wredundant-decls $CXXFLAGS"
+CFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -fvisibility=hidden $CFLAGS"
+CXXFLAGS="-g -O3 -Wall -Wextra -Wshadow -Wno-unused-parameter -Wmissing-declarations -Wredundant-decls -fvisibility=hidden $CXXFLAGS"
 
 PDNS_WITH_LIBSODIUM
 PDNS_CHECK_DNSTAP([auto])