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.ref@yahoo.com> <CCB7E15F-98CE-492A-94D1-CE8964E8363E@yahoo.com> <25afe2ff-e805-8415-ddd9-430cfa271e16@yuripv.dev> <8969386C-D964-4597-BE7E-6A2D215D801C@yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



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