Skip site navigation (1)Skip section navigation (2)
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>