Date: Mon, 22 Oct 2012 21:01:53 +0400 From: Andrey Chernov <ache@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: stable@freebsd.org, freebsd-stable@freebsd.org Subject: Re: ${CTFCONVERT_CMD} expands to empty string Message-ID: <50857C01.8050500@freebsd.org> In-Reply-To: <50857831.1070603@freebsd.org> References: <5081F92F.8040004@freebsd.org> <508317A4.2060800@freebsd.org> <5084927C.1070101@freebsd.org> <201210221142.06889.jhb@freebsd.org> <50856F6F.40204@freebsd.org> <50857831.1070603@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
All that happens because this commit is not merged into stable-9. Do you plan to mere it by yourself? r228157 | fjoe | 2011-11-30 22:07:38 +0400 (ср, 30 ноя 2011) | 10 lines - Fix segmentation fault when running "+command" when run with -jX -n due to Compat_RunCommand() being called with `cmd' that is not on the node->commands list - Make ellipsis ("..." command) handling consistent: check for "..." command in job make after variables expansion to match compat make behavior - Fix empty command handling (after variables expansion and @+- modifiers are processed): now empty commands are ignored in compat make and are not printed in job make case - Bump MAKE_VERSION to 5-2011-11-30-0 On 22.10.2012 20:45, Andrey Chernov wrote: > And simple test case proving that make v9201206140 dislike empty commands. > Makefile: > ------------------------------------------------ > CTFCONVERT_CMD= > all: > echo ${MAKE_VERSION} > ${CTFCONVERT_CMD} > echo b > ------------------------------------------------ >> make > echo 9201206140 > 9201206140 > ${CTFCONVERT_CMD} expands to empty string > echo b > b > > On 22.10.2012 20:08, Andrey Chernov wrote: >> On 22.10.2012 19:42, John Baldwin wrote: >>> On Sunday, October 21, 2012 8:25:32 pm Andrey Chernov wrote: >>>> Those lines cause this error: >>>> .if ${MK_CTF} != "no" >>>> CTFCONVERT_CMD= ${CTFCONVERT} ${CTFFLAGS} ${.TARGET} >>>> .elif ${MAKE_VERSION} >= 5201111300 >>>> CTFCONVERT_CMD= >>>> .else >>>> CTFCONVERT_CMD= @: >>>> .endif >>>> >>>> My make version is 9201206140 >>>> So, either the check for >= 5201111300 is incorrect or change for empty >>>> make variables expansion is not merged into stable-9 >>> >>> I can't reproduce this doing a buildworld of a stable/9 checkout on a 9.0- >>> stable machine btw. What exact contents of /etc/src.conf and commands are you >>> using to reproduce this? >>> >>> I also can't find the string "empty string" in the output of my stable/9 >>> 'make universe' build before I committed this. >>> >> >> /etc/src.conf: >> WITHOUT_AMD=yes >> WITHOUT_APM=yes >> WITHOUT_ATM=yes >> WITHOUT_AUDIT=yes >> WITH_BSD_GREP=yes >> WITHOUT_BLUETOOTH=yes >> WITHOUT_BSNMP=yes >> WITHOUT_CDDL=yes >> WITHOUT_CLANG=yes >> WITHOUT_CTM=yes >> WITHOUT_FORTRAN=yes >> WITHOUT_GPIB=yes >> WITHOUT_GPIO=yes >> WITHOUT_GSSAPI=yes >> WITHOUT_I4B=yes >> WITH_IDEA=yes >> WITHOUT_IPFILTER=yes >> WITHOUT_IPX=yes >> WITHOUT_NCP=yes >> WITHOUT_NIS=yes >> WITHOUT_KERBEROS=yes >> WITHOUT_MAILWRAPPER=yes >> WITHOUT_PF=yes >> WITHOUT_PMC=yes >> WITHOUT_PROFILE=yes >> WITHOUT_RCMDS=yes >> WITHOUT_SLIP=yes >> WITHOUT_WIRELESS=yes >> >> I got that useless line _each_ .c file compiles. Example commands: >> cd /usr/src/usr.bin/make >> make clean >> make >> I got: >> cc -O2 -pipe -march=pentium4 -I/usr/src/usr.bin/make >> -DMAKE_VERSION=\"9201206140\" -DDEFSHELLNAME=\"sh\" -std=gnu99 >> -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W >> -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes >> -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch >> -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline >> -Wnested-externs -Wredundant-decls -Wold-style-definition >> -Wno-pointer-sign -c /usr/src/usr.bin/make/arch.c >> ${CTFCONVERT_CMD} expands to empty string >> ...etc... on each file. >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50857C01.8050500>