Commit 9bcdac22 authored by Dridi Boukelmoune's avatar Dridi Boukelmoune

build: Fold sanitizer flags into regular flags

Instead of referring to them for every single binary we build... While
at it we shouldn't need to add -fsanitize=stuff to LDFLAGS, and we
didn't in some cases. That should lead to smaller lines when running
make with V=1 or when silent rules are disabled.
parent c442a169
......@@ -8,11 +8,9 @@ bin_PROGRAMS = varnishadm
varnishadm_SOURCES = varnishadm.c
varnishadm_CFLAGS = @LIBEDIT_CFLAGS@ \
@SAN_CFLAGS@
varnishadm_CFLAGS = @LIBEDIT_CFLAGS@
varnishadm_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
$(top_builddir)/lib/libvarnish/libvarnish.la \
${PTHREAD_LIBS} ${RT_LIBS} ${NET_LIBS} @LIBEDIT_LIBS@ ${LIBM} \
@SAN_LDFLAGS@
${PTHREAD_LIBS} ${RT_LIBS} ${NET_LIBS} @LIBEDIT_LIBS@ ${LIBM}
......@@ -159,7 +159,6 @@ nobase_pkginclude_HEADERS = \
vcldir=$(datarootdir)/$(PACKAGE)/vcl
varnishd_CFLAGS = \
@SAN_CFLAGS@ \
-DNOT_IN_A_VMOD \
-DVARNISH_STATE_DIR='"${VARNISH_STATE_DIR}"' \
-DVARNISH_VMOD_DIR='"${vmoddir}"' \
......@@ -171,7 +170,6 @@ varnishd_LDADD = \
$(top_builddir)/lib/libvcc/libvcc.a \
$(top_builddir)/lib/libvarnish/libvarnish.la \
$(top_builddir)/lib/libvgz/libvgz.a \
@SAN_LDFLAGS@ \
@JEMALLOC_LDADD@ \
${DL_LIBS} ${PTHREAD_LIBS} ${NET_LIBS} ${RT_LIBS} ${LIBM}
......@@ -182,31 +180,25 @@ endif
noinst_PROGRAMS = vhp_gen_hufdec
vhp_gen_hufdec_SOURCES = hpack/vhp_gen_hufdec.c
vhp_gen_hufdec_CFLAGS = @SAN_CFLAGS@ \
-include config.h
vhp_gen_hufdec_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la
vhp_gen_hufdec_CFLAGS = -include config.h
vhp_gen_hufdec_LDADD = $(top_builddir)/lib/libvarnish/libvarnish.la
noinst_PROGRAMS += vhp_table_test
vhp_table_test_SOURCES = hpack/vhp_table.c
vhp_table_test_CFLAGS = @SAN_CFLAGS@ \
-DTABLE_TEST_DRIVER -include config.h
vhp_table_test_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la
vhp_table_test_CFLAGS = -DTABLE_TEST_DRIVER -include config.h
vhp_table_test_LDADD = $(top_builddir)/lib/libvarnish/libvarnish.la
noinst_PROGRAMS += vhp_decode_test
vhp_decode_test_SOURCES = hpack/vhp_decode.c hpack/vhp_table.c
vhp_decode_test_CFLAGS = @SAN_CFLAGS@ \
-DDECODE_TEST_DRIVER -include config.h
vhp_decode_test_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la
vhp_decode_test_CFLAGS = -DDECODE_TEST_DRIVER -include config.h
vhp_decode_test_LDADD = $(top_builddir)/lib/libvarnish/libvarnish.la
noinst_PROGRAMS += esi_parse_fuzzer
esi_parse_fuzzer_SOURCES = \
cache/cache_esi_parse.c \
fuzzers/esi_parse_fuzzer.c
esi_parse_fuzzer_CFLAGS = \
@SAN_CFLAGS@ -DNOT_IN_A_VMOD -DTEST_DRIVER -include config.h
-DNOT_IN_A_VMOD -DTEST_DRIVER -include config.h
esi_parse_fuzzer_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la \
$(top_builddir)/lib/libvgz/libvgz.a
......
......@@ -12,11 +12,6 @@ varnishhist_SOURCES = \
varnishhist_options.h \
varnishhist_profiles.h
varnishhist_CFLAGS = \
@SAN_CFLAGS@
varnishhist_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
-lm \
@SAN_LDFLAGS@ \
@CURSES_LIBS@ ${RT_LIBS} ${PTHREAD_LIBS}
-lm @CURSES_LIBS@ ${RT_LIBS} ${PTHREAD_LIBS}
......@@ -10,10 +10,6 @@ varnishlog_SOURCES = \
varnishlog.c \
varnishlog_options.h
varnishlog_CFLAGS = \
@SAN_CFLAGS@
varnishlog_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
@SAN_LDFLAGS@ \
${RT_LIBS} ${LIBM} ${PTHREAD_LIBS}
......@@ -12,10 +12,6 @@ varnishncsa_SOURCES = \
b64.h \
b64.c
varnishncsa_CFLAGS = \
@SAN_CFLAGS@
varnishncsa_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
@SAN_LDFLAGS@ \
${RT_LIBS} ${LIBM}
......@@ -28,14 +28,9 @@ varnishstat_curses_help.c: varnishstat_help_gen
$(AM_V_GEN) ./varnishstat_help_gen >$@_
@mv $@_ $@
varnishstat_CFLAGS = \
@SAN_CFLAGS@
varnishstat_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
@SAN_LDFLAGS@ \
@CURSES_LIBS@ ${RT_LIBS} ${LIBM} ${PTHREAD_LIBS}
varnishstat_help_gen_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la \
@SAN_LDFLAGS@
$(top_builddir)/lib/libvarnish/libvarnish.la
......@@ -55,11 +55,9 @@ varnishtest_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
$(top_builddir)/lib/libvarnish/libvarnish.la \
$(top_builddir)/lib/libvgz/libvgz.a \
@SAN_LDFLAGS@ \
${PTHREAD_LIBS} ${NET_LIBS} ${LIBM}
varnishtest_CFLAGS = \
@SAN_CFLAGS@ \
-DVTEST_WITH_VTC_LOGEXPECT \
-DVTEST_WITH_VTC_VARNISH \
-DTOP_BUILDDIR='"${top_builddir}"'
......
......@@ -11,11 +11,6 @@ varnishtop_SOURCES = \
varnishtop.c \
varnishtop_options.h
varnishtop_CFLAGS = \
@SAN_CFLAGS@
varnishtop_LDADD = \
$(top_builddir)/lib/libvarnishapi/libvarnishapi.la \
@SAN_LDFLAGS@ \
@CURSES_LIBS@ ${RT_LIBS} ${LIBM} ${PTHREAD_LIBS}
......@@ -296,26 +296,23 @@ AC_ARG_ENABLE(msan,
[enable memory sanitizer (default is NO)]),
[MSAN_FLAGS=-fsanitize=memory])
SAN_CFLAGS=
SAN_LDFLAGS=
if test "x$UBSAN_FLAGS$TSAN_FLAGS$ASAN_FLAGS$MSAN_FLAGS" != "x"; then
AC_DEFINE([__SANITIZER], [1], [Define to 1 if any sanitizer is enabled.])
SAN_FLAGS="$ASAN_FLAGS $UBSAN_FLAGS $TSAN_FLAGS $MSAN_FLAGS"
SAN_CFLAGS="$SAN_FLAGS -fPIC -fPIE -fno-omit-frame-pointer"
SAN_LDFLAGS=$SAN_FLAGS
SAN_LDFLAGS=
save_CFLAGS=$CFLAGS
CFLAGS="${CFLAGS} -Werror=unused-command-line-argument"
AX_CHECK_LINK_FLAG([-pie], [SAN_LDFLAGS="$SAN_LDFLAGS -pie"])
AX_CHECK_LINK_FLAG([-pie], [SAN_LDFLAGS=-pie])
CFLAGS=$save_CFLAGS
case $CC in
gcc*)
SAN_CFLAGS="${SAN_CFLAGS} -fuse-ld=gold"
SAN_CFLAGS="$SAN_CFLAGS -fuse-ld=gold"
;;
esac
CFLAGS="$CFLAGS $SAN_CFLAGS"
LDFLAGS="$LDFLAGS $SAN_LDFLAGS"
fi
AC_SUBST(SAN_CFLAGS)
AC_SUBST(SAN_LDFLAGS)
# Use jemalloc on Linux
JEMALLOC_LDADD=
......
......@@ -5,8 +5,8 @@ AM_CPPFLAGS = \
-I$(top_builddir)/include \
@PCRE2_CFLAGS@
AM_CFLAGS = $(AM_LT_CFLAGS) @SAN_CFLAGS@
AM_LDFLAGS = $(AM_LT_LDFLAGS) @SAN_LDFLAGS@
AM_CFLAGS = $(AM_LT_CFLAGS)
AM_LDFLAGS = $(AM_LT_LDFLAGS)
noinst_LTLIBRARIES = libvarnish.la
......
......@@ -35,12 +35,11 @@ libvarnishapi_la_SOURCES += daemon.c
endif
libvarnishapi_la_CFLAGS = \
-DVARNISH_STATE_DIR='"${VARNISH_STATE_DIR}"' \
@SAN_CFLAGS@
-DVARNISH_STATE_DIR='"${VARNISH_STATE_DIR}"'
libvarnishapi_la_LIBADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la \
@SAN_LDFLAGS@ ${NET_LIBS} ${RT_LIBS} ${LIBM}
${NET_LIBS} ${RT_LIBS} ${LIBM}
if HAVE_LD_VERSION_SCRIPT
libvarnishapi_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libvarnishapi.map
......@@ -79,17 +78,15 @@ vxp_test_SOURCES = \
vxp_test.c
vxp_test_CFLAGS = \
-DVARNISH_STATE_DIR='"${VARNISH_STATE_DIR}"' \
-DVXP_DEBUG \
${SAN_CFLAGS}
-DVXP_DEBUG
vxp_test_LDADD = \
$(top_builddir)/lib/libvarnish/libvarnish.la \
${RT_LIBS} ${LIBM} ${PTHREAD_LIBS} ${SAN_LDFLAGS}
${RT_LIBS} ${LIBM} ${PTHREAD_LIBS}
noinst_PROGRAMS += vsl_glob_test
vsl_glob_test_SOURCES = vsl_glob_test.c
vsl_glob_test_CFLAGS = @SAN_CFLAGS@
vsl_glob_test_LDADD = libvarnishapi.la @SAN_LDFLAGS@
vsl_glob_test_LDADD = libvarnishapi.la
dist_noinst_SCRIPTS = vsl_glob_test_coverage.sh vxp_test_coverage.sh
......
......@@ -8,9 +8,6 @@ AM_CPPFLAGS = \
noinst_LIBRARIES = libvcc.a
libvcc_a_CFLAGS = \
@SAN_CFLAGS@
libvcc_a_SOURCES = \
vcc_compile.h \
vcc_namespace.h \
......
......@@ -56,8 +56,7 @@ vmod_LTLIBRARIES += libvmod_XXX.la
libvmod_XXX_la_SOURCES = \\
\tSRC
libvmod_XXX_la_CFLAGS = \\
\t@SAN_CFLAGS@
libvmod_XXX_la_CFLAGS =
vmodtoolargs_XXX ?= --strict --boilerplate -o PFX
vmod_XXX_symbols_regex ?= Vmod_XXX_Data
......@@ -65,8 +64,7 @@ vmod_XXX_symbols_regex ?= Vmod_XXX_Data
libvmod_XXX_la_LDFLAGS = \\
\t-export-symbols-regex $(vmod_XXX_symbols_regex) \\
\t$(AM_LDFLAGS) \\
\t$(VMOD_LDFLAGS) \\
\t@SAN_LDFLAGS@
\t$(VMOD_LDFLAGS)
nodist_libvmod_XXX_la_SOURCES = PFX.c PFX.h
......
......@@ -5,7 +5,7 @@ AM_LDFLAGS = $(AM_LT_LDFLAGS)
noinst_LIBRARIES = libvgz.a
libvgz_a_CFLAGS = -D_LARGEFILE64_SOURCE=1 -DZLIB_CONST \
$(libvgz_extra_cflags) @SAN_CFLAGS@
$(libvgz_extra_cflags)
libvgz_a_SOURCES = \
adler32.c \
......
......@@ -12,8 +12,7 @@ libvmod_blob_la_SOURCES = \
vmod_blob_tbl_encodings.h \
vmod_blob_url.c
libvmod_blob_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_blob_la_CFLAGS =
vmodtoolargs_blob ?= --strict --boilerplate -o vcc_blob_if
vmod_blob_symbols_regex ?= Vmod_blob_Data
......@@ -21,8 +20,7 @@ vmod_blob_symbols_regex ?= Vmod_blob_Data
libvmod_blob_la_LDFLAGS = \
-export-symbols-regex $(vmod_blob_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_blob_la_SOURCES = vcc_blob_if.c vcc_blob_if.h
......
......@@ -5,8 +5,7 @@ vmod_LTLIBRARIES += libvmod_cookie.la
libvmod_cookie_la_SOURCES = \
vmod_cookie.c
libvmod_cookie_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_cookie_la_CFLAGS =
vmodtoolargs_cookie ?= --strict --boilerplate -o vcc_cookie_if
vmod_cookie_symbols_regex ?= Vmod_cookie_Data
......@@ -14,8 +13,7 @@ vmod_cookie_symbols_regex ?= Vmod_cookie_Data
libvmod_cookie_la_LDFLAGS = \
-export-symbols-regex $(vmod_cookie_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_cookie_la_SOURCES = vcc_cookie_if.c vcc_cookie_if.h
......
......@@ -8,8 +8,7 @@ libvmod_debug_la_SOURCES = \
vmod_debug_dyn.c \
vmod_debug_obj.c
libvmod_debug_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_debug_la_CFLAGS =
vmodtoolargs_debug ?= --strict --boilerplate -o vcc_debug_if
vmod_debug_symbols_regex ?= Vmod_debug_Data
......@@ -17,8 +16,7 @@ vmod_debug_symbols_regex ?= Vmod_debug_Data
libvmod_debug_la_LDFLAGS = \
-export-symbols-regex $(vmod_debug_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_debug_la_SOURCES = vcc_debug_if.c vcc_debug_if.h
......
......@@ -15,8 +15,7 @@ libvmod_directors_la_SOURCES = \
vmod_directors_shard_dir.c \
vmod_directors_shard_dir.h
libvmod_directors_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_directors_la_CFLAGS =
vmodtoolargs_directors ?= --strict --boilerplate -o vcc_directors_if
vmod_directors_symbols_regex ?= Vmod_directors_Data
......@@ -24,8 +23,7 @@ vmod_directors_symbols_regex ?= Vmod_directors_Data
libvmod_directors_la_LDFLAGS = \
-export-symbols-regex $(vmod_directors_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_directors_la_SOURCES = vcc_directors_if.c vcc_directors_if.h
......
......@@ -5,8 +5,7 @@ vmod_LTLIBRARIES += libvmod_proxy.la
libvmod_proxy_la_SOURCES = \
vmod_proxy.c
libvmod_proxy_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_proxy_la_CFLAGS =
vmodtoolargs_proxy ?= --strict --boilerplate -o vcc_proxy_if
vmod_proxy_symbols_regex ?= Vmod_proxy_Data
......@@ -14,8 +13,7 @@ vmod_proxy_symbols_regex ?= Vmod_proxy_Data
libvmod_proxy_la_LDFLAGS = \
-export-symbols-regex $(vmod_proxy_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_proxy_la_SOURCES = vcc_proxy_if.c vcc_proxy_if.h
......
......@@ -5,8 +5,7 @@ vmod_LTLIBRARIES += libvmod_purge.la
libvmod_purge_la_SOURCES = \
vmod_purge.c
libvmod_purge_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_purge_la_CFLAGS =
vmodtoolargs_purge ?= --strict --boilerplate -o vcc_purge_if
vmod_purge_symbols_regex ?= Vmod_purge_Data
......@@ -14,8 +13,7 @@ vmod_purge_symbols_regex ?= Vmod_purge_Data
libvmod_purge_la_LDFLAGS = \
-export-symbols-regex $(vmod_purge_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_purge_la_SOURCES = vcc_purge_if.c vcc_purge_if.h
......
......@@ -8,8 +8,7 @@ libvmod_std_la_SOURCES = \
vmod_std_fileread.c \
vmod_std_querysort.c
libvmod_std_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_std_la_CFLAGS =
vmodtoolargs_std ?= --strict --boilerplate -o vcc_std_if
vmod_std_symbols_regex ?= Vmod_std_Data
......@@ -17,8 +16,7 @@ vmod_std_symbols_regex ?= Vmod_std_Data
libvmod_std_la_LDFLAGS = \
-export-symbols-regex $(vmod_std_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_std_la_SOURCES = vcc_std_if.c vcc_std_if.h
......
......@@ -6,8 +6,7 @@ libvmod_unix_la_SOURCES = \
vmod_unix.c \
vmod_unix_cred_compat.h
libvmod_unix_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_unix_la_CFLAGS =
vmodtoolargs_unix ?= --strict --boilerplate -o vcc_unix_if
vmod_unix_symbols_regex ?= Vmod_unix_Data
......@@ -15,8 +14,7 @@ vmod_unix_symbols_regex ?= Vmod_unix_Data
libvmod_unix_la_LDFLAGS = \
-export-symbols-regex $(vmod_unix_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_unix_la_SOURCES = vcc_unix_if.c vcc_unix_if.h
......
......@@ -5,8 +5,7 @@ vmod_LTLIBRARIES += libvmod_vtc.la
libvmod_vtc_la_SOURCES = \
vmod_vtc.c
libvmod_vtc_la_CFLAGS = \
@SAN_CFLAGS@
libvmod_vtc_la_CFLAGS =
vmodtoolargs_vtc ?= --strict --boilerplate -o vcc_vtc_if
vmod_vtc_symbols_regex ?= Vmod_vtc_Data
......@@ -14,8 +13,7 @@ vmod_vtc_symbols_regex ?= Vmod_vtc_Data
libvmod_vtc_la_LDFLAGS = \
-export-symbols-regex $(vmod_vtc_symbols_regex) \
$(AM_LDFLAGS) \
$(VMOD_LDFLAGS) \
@SAN_LDFLAGS@
$(VMOD_LDFLAGS)
nodist_libvmod_vtc_la_SOURCES = vcc_vtc_if.c vcc_vtc_if.h
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment