Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 9 Jul 2020 07:08:15 +0300
From:      Yuri Pankov <yuripv@yuripv.dev>
To:        Mark Millard <marklmi@yahoo.com>
Cc:        "sjg@freebsd.org" <sjg@FreeBSD.org>, svn-src-head@freebsd.org, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: svn commit: r363031 - in head: contrib/bmake contrib/bmake/lst.lib contrib/bmake/mk contrib/bmake/mk/sys contrib/bmake/unit-tests usr.bin/bmake (make now broken)
Message-ID:  <cc903068-db2d-df1b-6c0c-bad7bcb5dba5@yuripv.dev>
In-Reply-To: <8969386C-D964-4597-BE7E-6A2D215D801C@yahoo.com>
References:  <CCB7E15F-98CE-492A-94D1-CE8964E8363E@yahoo.com> <25afe2ff-e805-8415-ddd9-430cfa271e16@yuripv.dev> <8969386C-D964-4597-BE7E-6A2D215D801C@yahoo.com>

index | next in thread | previous in thread | raw e-mail

Mark Millard wrote:
> 
> 
> On 2020-Jul-8, at 20:35, Yuri Pankov <yuripv at yuripv.dev> wrote:
> 
>> Mark Millard wrote:
>>> This seems to have broken doing buildworld buildkernel and
>>> other things using make:
>>> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or !=
>>> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or !=
>>> . . .
>>> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 100: warning: String comparison operator should be either == or !=
>>> . . .
>>> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 81: warning: String comparison operator should be either == or !=
>>> . . .
>>> Using -d c shows the likes of:
>>> . . .
>>> lhs = "clang", rhs = "clang", op = ==
>>> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "gcc", op = ==
>>> make[2]: "/usr/src/share/mk/bsd.compiler.mk" line 197: warning: String comparison operator should be either == or !=
>>> lhs = "clang", rhs = "clang", op = ==
>>> lhs = "LD", rhs = "LD", op = ==
>>> . . .
>>> left = 6.000000, right = 2.000000, op = <=
>>> left = 6.000000, right = 1.000000, op = <=
>>> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "clang", op = ==
>>> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 100: warning: String comparison operator should be either == or !=
>>> lhs = "${${:UCOMPILER_TYPE}__${${:U${_empty_var_}}_cc_hash}}", rhs = "gcc", op = ==
>>> lhs = "clang", rhs = "gcc", op = ==
>>> . . .
>>> left = 0.000000, right = 6.000000, op = <=
>>> left = 0.000000, right = 3.000000, op = <=
>>> lhs = "clang", rhs = "gcc", op = ==
>>> make[3]: "/usr/src/share/mk/bsd.sys.mk" line 81: warning: String comparison operator should be either == or !=
>>> lhs = "clang", rhs = "clang", op = ==
>>> left = 100001.000000, right = 70000.000000, op = >=
>>> lhs = "amd64", rhs = "arm", op = ==
>>> (Now I just need to figure out how to get back to a working context.)
>>
>> For me, buildworld/buildkernel produced only warnings,
> 
> But, looking at the code in bmake, the expression is also
> evaluated differently/incorrectly when it is classified as
> having the problem of having a incorrect operator. In other
> words: the behavior in make changes via misevaluated
> expressions.
> 
> 
>> though the one in ports is real issue:
>>
>> $ make config
>> make: "/usr/ports/Mk/bsd.port.mk" line 2096: warning: String comparison operator should be either == or !=
>> make: "/usr/ports/Mk/bsd.port.mk" line 2096: Malformed conditional (defined(MAKE_JOBS_NUMBER_LIMIT) && ( ${MAKE_JOBS_NUMBER_LIMIT} < ${_MAKE_JOBS_NUMBER} ))
>> make: Fatal errors encountered -- cannot continue
>> make: stopped in /usr/ports/devel/subversion
> 
> Not the only "real issue", I'm afraid.

Yeah, sorry, looks like I'm late to the party, and it was already 
discussed and reverted.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cc903068-db2d-df1b-6c0c-bad7bcb5dba5>