From: Corey Farrell Date: Wed, 12 Nov 2014 13:45:34 +0000 (+0000) Subject: Fix compiler error when using ./configure --enable-dev-mode --enable-coverage X-Git-Tag: 12.8.0-rc1~53 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e437f1002d8b8eb009d0246aaf810a5f33ecdf10;p=thirdparty%2Fasterisk.git Fix compiler error when using ./configure --enable-dev-mode --enable-coverage When DONT_OPTIMIZE is enabled with dev-mode, it causes a shadow compilation to be done with output to /dev/null. This can cause errors with coverage when GCC attempts to write to /dev/null.gcno. This change disables coverage for the shadow compilation. ASTERISK-24502 #close Reported by: Corey Farrell Review: https://reviewboard.asterisk.org/r/4151/ ........ Merged revisions 427682 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@427683 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/Makefile.rules b/Makefile.rules index 815038117f..41205bc878 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -50,8 +50,10 @@ else endif ifeq ($(AST_CODE_COVERAGE),yes) - _ASTCFLAGS+=-ftest-coverage -fprofile-arcs + _ASTCFLAGS_COVERAGE=-ftest-coverage -fprofile-arcs _ASTLDFLAGS+=-ftest-coverage -fprofile-arcs +else + _ASTCFLAGS_COVERAGE= endif ifeq ($(findstring $(CONFIG_CFLAGS),$(_ASTCFLAGS)),) @@ -95,41 +97,41 @@ endif ifeq ($(COMPILE_DOUBLE),yes) $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE) endif - $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) + $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) $(_ASTCFLAGS_COVERAGE) %.o: %.i $(ECHO_PREFIX) echo " [CCi] $< -> $@" ifeq ($(COMPILE_DOUBLE),yes) $(CMD_PREFIX) $(CC) -o /dev/null -c $< $(CC_CFLAGS) $(OPTIMIZE) endif - $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) + $(CMD_PREFIX) $(CC) -o $@ -c $< $(CC_CFLAGS) $(_ASTCFLAGS_COVERAGE) ifneq ($(COMPILE_DOUBLE),yes) %.o: %.c $(ECHO_PREFIX) echo " [CC] $< -> $@" - $(CMD_PREFIX) $(CC) -o $@ -c $< $(MAKE_DEPS) $(CC_CFLAGS) + $(CMD_PREFIX) $(CC) -o $@ -c $< $(MAKE_DEPS) $(CC_CFLAGS) $(_ASTCFLAGS_COVERAGE) endif %.i: %.c $(ECHO_PREFIX) echo " [CPP] $< -> $@" - $(CMD_PREFIX) $(CC) -o $@ -E $< $(MAKE_DEPS) $(CC_CFLAGS) + $(CMD_PREFIX) $(CC) -o $@ -E $< $(MAKE_DEPS) $(CC_CFLAGS) $(_ASTCFLAGS_COVERAGE) %.oo: %.ii $(ECHO_PREFIX) echo " [CXXi] $< -> $@" ifeq ($(COMPILE_DOUBLE),yes) $(CMD_PREFIX) $(CXX) -o /dev/null -c $< $(CXX_CFLAGS) $(OPTIMIZE) endif - $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS) + $(CMD_PREFIX) $(CXX) -o $@ -c $< $(CXX_CFLAGS) $(_ASTCFLAGS_COVERAGE) ifneq ($(COMPILE_DOUBLE),yes) %.oo: %.cc $(ECHO_PREFIX) echo " [CXX] $< -> $@" - $(CMD_PREFIX) $(CXX) -o $@ -c $< $(MAKE_DEPS) $(CXX_CFLAGS) + $(CMD_PREFIX) $(CXX) -o $@ -c $< $(MAKE_DEPS) $(CXX_CFLAGS) $(_ASTCFLAGS_COVERAGE) endif %.ii: %.cc $(ECHO_PREFIX) echo " [CPP] $< -> $@" - $(CMD_PREFIX) $(CXX) -o $@ -E $< $(MAKE_DEPS) $(CXX_CFLAGS) + $(CMD_PREFIX) $(CXX) -o $@ -E $< $(MAKE_DEPS) $(CXX_CFLAGS) $(_ASTCFLAGS_COVERAGE) %.so: %.o ifeq ($(GNU_LD),1)