[PATCH] test: use LDFLAGS in test/Makefile.local

Jani Nikula jani at nikula.org
Mon Oct 20 08:03:21 PDT 2014


Apparently the test binaries are built with minimal LDFLAGS, only
adding dependency specific LDFLAGS as needed. However because some of
the test binaries incorporate notmuch object files, it is necessary to
use the same link flags as notmuch. For example user provided
CFLAGS/CXXFLAGS/LDFLAGS with -fsanitize=undefined fails to build the
test binaries if the flags differ.

---

With this I could do

CFLAGS="-fsanitize=undefined -g" CXXFLAGS="-fsanitize=undefined -g" LDFLAGS="-fsanitize=undefined -g" ./configure

to try ubsan with gcc 4.9. No problems found while running make test
(and it did find an UB I planted to ensure I had it all set up right).
---
 test/Makefile.local | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/test/Makefile.local b/test/Makefile.local
index a2d58fc1a1b0..2331ceb15e33 100644
--- a/test/Makefile.local
+++ b/test/Makefile.local
@@ -13,10 +13,10 @@ smtp_dummy_srcs =		\
 smtp_dummy_modules = $(smtp_dummy_srcs:.c=.o)
 
 $(dir)/arg-test: $(dir)/arg-test.o command-line-arguments.o util/libutil.a
-	$(call quiet,CC) $^ -o $@
+	$(call quiet,CC) $^ -o $@ $(LDFLAGS)
 
 $(dir)/hex-xcode: $(dir)/hex-xcode.o command-line-arguments.o util/libutil.a
-	$(call quiet,CC) $^ $(TALLOC_LDFLAGS) -o $@
+	$(call quiet,CC) $^ -o $@ $(LDFLAGS) $(TALLOC_LDFLAGS)
 
 random_corpus_deps =  $(dir)/random-corpus.o  $(dir)/database-test.o \
 			notmuch-config.o command-line-arguments.o \
@@ -24,19 +24,19 @@ random_corpus_deps =  $(dir)/random-corpus.o  $(dir)/database-test.o \
 			parse-time-string/libparse-time-string.a
 
 $(dir)/random-corpus: $(random_corpus_deps)
-	$(call quiet,CXX) $(CFLAGS_FINAL) $^ -o $@ $(CONFIGURE_LDFLAGS)
+	$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(CONFIGURE_LDFLAGS)
 
 $(dir)/smtp-dummy: $(smtp_dummy_modules)
-	$(call quiet,CC) $^ -o $@
+	$(call quiet,CC) $^ -o $@ $(LDFLAGS)
 
 $(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME)
-	$(call quiet,CXX) $^ -o $@ -Llib -lnotmuch $(XAPIAN_LDFLAGS)
+	$(call quiet,CXX) $^ -o $@ $(LDFLAGS) -Llib -lnotmuch $(XAPIAN_LDFLAGS)
 
 $(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o
-	$(call quiet,CC) $^ -o $@
+	$(call quiet,CC) $^ -o $@ $(LDFLAGS)
 
 $(dir)/make-db-version: $(dir)/make-db-version.o
-	$(call quiet,CXX) $^ -o $@ $(XAPIAN_LDFLAGS)
+	$(call quiet,CXX) $^ -o $@ $(LDFLAGS) $(XAPIAN_LDFLAGS)
 
 .PHONY: test check
 
-- 
2.1.1



More information about the notmuch mailing list