Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 May 2018 17:30:18 -0700
From:      Bryan Drewery <bdrewery@FreeBSD.org>
To:        "O. Hartmann" <ohartmann@walstatt.org>, Cy Schubert <Cy.Schubert@cschubert.com>, David Wolfskill <david@catwhisker.org>
Cc:        Jilles Tjoelker <jilles@stack.nl>, src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r334008 - head/bin/sh
Message-ID:  <f2cb54b3-d717-b402-47a0-2bae6d1deeb6@FreeBSD.org>
In-Reply-To: <20180522202259.GA44110@stack.nl>
References:  <20180522061339.2149763e@freyja.zeit4.iv.bundesimmobilien.de> <201805220445.w4M4jroR019550@slippy.cwsent.com> <20180522101737.52e76c0f@freyja.zeit4.iv.bundesimmobilien.de> <20180522202259.GA44110@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--h9FUzeznMmrfYkSnvursw8TAsp9pdqrTw
Content-Type: multipart/mixed; boundary="WB3TjWEFzLLIxfVKLj9vFmXhc1Ab8AkDB";
 protected-headers="v1"
From: Bryan Drewery <bdrewery@FreeBSD.org>
To: "O. Hartmann" <ohartmann@walstatt.org>,
 Cy Schubert <Cy.Schubert@cschubert.com>,
 David Wolfskill <david@catwhisker.org>
Cc: Jilles Tjoelker <jilles@stack.nl>, src-committers@freebsd.org,
 svn-src-all@freebsd.org, svn-src-head@freebsd.org
Message-ID: <f2cb54b3-d717-b402-47a0-2bae6d1deeb6@FreeBSD.org>
Subject: Re: svn commit: r334008 - head/bin/sh
References: <20180522061339.2149763e@freyja.zeit4.iv.bundesimmobilien.de>
 <201805220445.w4M4jroR019550@slippy.cwsent.com>
 <20180522101737.52e76c0f@freyja.zeit4.iv.bundesimmobilien.de>
 <20180522202259.GA44110@stack.nl>
In-Reply-To: <20180522202259.GA44110@stack.nl>

--WB3TjWEFzLLIxfVKLj9vFmXhc1Ab8AkDB
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 5/22/2018 1:22 PM, Jilles Tjoelker wrote:
> On Tue, May 22, 2018 at 10:17:41AM +0200, O. Hartmann wrote:
>> On Mon, 21 May 2018 21:45:53 -0700
>> Cy Schubert <Cy.Schubert@cschubert.com> wrote:
>>> In message <20180522061339.2149763e@freyja.zeit4.iv.bundesimmobilien.=
de>
>>> , "O. H
>>> artmann" writes:
>>>> On Mon, 21 May 2018 21:52:48 +0000 (UTC)
>>>> Jilles Tjoelker <jilles@FreeBSD.org> wrote:
>=20
>>>>> Author: jilles
>>>>> Date: Mon May 21 21:52:48 2018
>>>>> New Revision: 334008
>>>>> URL: https://svnweb.freebsd.org/changeset/base/334008
>=20
>>>>> Log:
>>>>>   sh: Split CNL syntax category to avoid a check on state[level].sy=
ntax
>=20
>>>>>   No functional change is intended.
>=20
>>>>> Modified:
>>>>>   head/bin/sh/mksyntax.c
>>>>>   head/bin/sh/parser.c
>> [snip]
>=20
>>>> Have this been tested? Doesn't compile for me:
>=20
>>>> [...]
>>>> Building /usr/obj/usr/src/amd64.amd64/kerberos5/libexec/hprop/hprop
>>>> --- all_subdir_rescue ---
>>>> --- parser.o ---
>>>> /usr/src/bin/sh/parser.c:1440:9: error: use of undeclared identifier=
 'CQNL'
>>>>                         case CQNL:
>>>>                              ^
>>>> --- all_subdir_gnu ---
>>>> Building /usr/obj/usr/src/amd64.amd64/gnu/usr.bin/gdb/libgdb/amd64bs=
d-nat.o
>>>> --- all_subdir_rescue ---
>>>> 1 error generated.
>>>> *** [parser.o] Error code 1
>=20
>>>> make[6]: stopped in /usr/src/bin/sh
>=20
>>> CQNL is defined in /usr/obj/opt/src/svn-current/amd64.amd64/bin/sh/sy=
nta
>>> x.h, generated by mksyntax.
>=20
>>> slippy$ ag -s CQNL /export/obj/opt/src/svn-current/amd64.amd64/bin/sh=
/*.
>>> h
>>> /export/obj/opt/src/svn-current/amd64.amd64/bin/sh/syntax.h
>>> 11:#define CQNL 2			/* newline character in quotes */
>>> slippy$=20
>=20
>>> Remove the file if it's not defined in your syntax.h.
>=20
>>> Just out of interest, do you use meta mode?
>=20
>> I think such a question is of common interest if errors/bugs like that=
 occur:
>> Yes, I use/compile world/kernel with META mode.
>=20
> The change itself is fine. It built for me and for Jenkins
> (ci.freebsd.org). What is not fine is an incremental build with meta
> mode. Apparently, the  syntax.h: .NOMETA  rule added in r301285 causes
> bmake to build some files against the old syntax.h, even though syntax.=
c
> and syntax.h will be rebuilt.
>=20
> To fix this, it may be possible to generate a meta file for syntax.h
> based on the one for syntax.c. The same would be done for builtins.[ch]=

> and nodes.[ch].
>=20
> Conceptually simpler is accepting what make would like: one command
> generates one file only. This is not really new with meta mode since a

Yeah bmake (both with and without meta mode) is lacking in properly
handling 1 target generating multiple files.  It's a big frustration of
mine as every pattern I've seen does not do the right thing.  I'll look
into this case more. For now just remove the syntax.h file from the
objdir or remove the bin/sh dir.

> somewhat ugly .ORDER declaration had been necessary before. The .c
> content can go inside a #ifdef in the .h file so the .c file need not b=
e
> autogenerated, or the tools can be run twice, once to generate the .c
> file and once to generate the .h file. In both cases, the tools will be=

> somewhat uglier in order to simplify the build system.
>=20


--=20
Regards,
Bryan Drewery


--WB3TjWEFzLLIxfVKLj9vFmXhc1Ab8AkDB--

--h9FUzeznMmrfYkSnvursw8TAsp9pdqrTw
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBAgAGBQJbBLYgAAoJEDXXcbtuRpfPVIkIAMdoeA7RIHx10dc871Y0oaj5
jVPhSYe7xF5f22qXiA6h1aV0lQ6c/oYZ1xuzLEWyP4sawrDQgHp086fyLYJBlBh1
wOQAgWltk08hblar3K1qDITrhpkgxPUgo9nYw/XlSfIOM7GoSMDmIaTirXWYsSDW
TTiox3MRr88FGyYzPdfEKysiT/OBwWueY4oNFuDSEv3L16RXAezjq2IuLmNzJE+6
s/W2S2ZfD7g4F5OE6nahyIJ03m292F71TzrExreIQr1I8nTOsyZ+yeNpBsvXn4xO
8ZlbrvdRih/6MvLy7NO00i5MLD/jIIhkKk3W7N8Vkdtrw2BJpSe+NQAteI35F04=
=kZ3o
-----END PGP SIGNATURE-----

--h9FUzeznMmrfYkSnvursw8TAsp9pdqrTw--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?f2cb54b3-d717-b402-47a0-2bae6d1deeb6>