git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Makefile: use CXXFLAGS for linking fuzzers

From
steadmon@google.com <steadmon@google.com>
Date
Nov 12, 2018, 22:02 UTC
Message-ID
<1630a93f8270ca090459be8cc7213221cc6250cf.1542060094.git.steadmon@google.com>

OSS-Fuzz requires C++-specific flags to link fuzzers. Passing these in CFLAGS causes lots of build warnings. Using separate CXXFLAGS avoids this.

Signed-off-by: Josh Steadmon <steadmon@google.com>
---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index bbfbb4292d..5462bc4b6b 100644
--- a/Makefile
+++ b/Makefile
@@ -497,6 +497,7 @@ GIT-VERSION-FILE: FORCE
 # CFLAGS and LDFLAGS are for the users to override from the command line.
 
 CFLAGS = -g -O2 -Wall
+CXXFLAGS ?= $(CFLAGS)
 LDFLAGS =
 ALL_CFLAGS = $(CPPFLAGS) $(CFLAGS)
 ALL_LDFLAGS = $(LDFLAGS)
@@ -3098,14 +3099,14 @@ cover_db_html: cover_db
 # An example command to build against libFuzzer from LLVM 4.0.0:
 #
 # make CC=clang CXX=clang++ \
-#      CFLAGS="-fsanitize-coverage=trace-pc-guard -fsanitize=address" \
+#      CXXFLAGS="-fsanitize-coverage=trace-pc-guard -fsanitize=address" \
 #      LIB_FUZZING_ENGINE=/usr/lib/llvm-4.0/lib/libFuzzer.a \
 #      fuzz-all
 #
 .PHONY: fuzz-all
 
 $(FUZZ_PROGRAMS): all
-	$(QUIET_LINK)$(CXX) $(CFLAGS) $(LIB_OBJS) $(BUILTIN_OBJS) \
+	$(QUIET_LINK)$(CXX) $(CXXFLAGS) $(LIB_OBJS) $(BUILTIN_OBJS) \
 		$(XDIFF_OBJS) $(EXTLIBS) git.o $@.o $(LIB_FUZZING_ENGINE) -o $@
 
 fuzz-all: $(FUZZ_PROGRAMS)
-- 
2.19.1.930.g4563a0d9d0-goog
Next: Stefan Beller
Message 1 of 6 in “Makefile: use CXXFLAGS for linking fuzzers”
  1. Makefile: use CXXFLAGS for linking fuzzerssteadmon@google.com, Nov 12, 2018
  2. Stefan BellerNov 12, 2018
  3. Junio C HamanoNov 13, 2018
  4. Josh SteadmonNov 13, 2018
  5. Junio C HamanoNov 14, 2018
  6. Makefile: use FUZZ_CXXFLAGS for linking fuzzersJosh Steadmon, Nov 14, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.