${CTFCONVERT_CMD} expands to empty string

Andrey Chernov ache at freebsd.org
Mon Oct 22 17:01:56 UTC 2012


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.
>>
> 



More information about the freebsd-stable mailing list