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

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

Date: Mon, 20 Oct 2014 18:03:21 +0300

To: notmuch@notmuchmail.org

Cc:

From: Jani Nikula


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


Thread: