git: 6edf5082bab7 - stable/12 - one-true-awk: import 20210221 (1e4bc42c53a1) which fixes a number of bugs

Warner Losh imp at bsdimp.com
Sat Jul 31 17:28:34 UTC 2021


On Sat, Jul 31, 2021 at 9:37 AM Kristof Provost <kp at freebsd.org> wrote:

> On 31 Jul 2021, at 16:20, Warner Losh wrote:
> > On Sat, Jul 31, 2021 at 8:07 AM Warner Losh <imp at bsdimp.com> wrote:
> >
> >>
> >>
> >> On Sat, Jul 31, 2021 at 3:11 AM Kristof Provost <kp at freebsd.org>
> >> wrote:
> >>
> >>> Hi Warner,
> >>>
> >>> On 10 Jul 2021, at 19:12, Warner Losh wrote:
> >>>
> >>> The branch stable/12 has been updated by imp:
> >>>
> >>> URL:
> >>>
> https://cgit.FreeBSD.org/src/commit/?id=6edf5082bab71cf923efff9f18e38efe5b83b0ec
> >>>
> >>> commit 6edf5082bab71cf923efff9f18e38efe5b83b0ec
> >>> Author: Warner Losh <imp at FreeBSD.org>
> >>> AuthorDate: 2021-07-07 23:30:35 +0000
> >>> Commit: Warner Losh <imp at FreeBSD.org>
> >>> CommitDate: 2021-07-10 17:11:15 +0000
> >>>
> >>> one-true-awk: import 20210221 (1e4bc42c53a1) which fixes a number of
> >>> bugs
> >>>
> >>> Import the latest bsd-features branch of the one-true-awk upstream:
> >>>
> >>> o Move to bison for $YACC
> >>> o Set close-on-exec flag for file and pipe redirects that aren't
> >>> std*
> >>> o lots of little fixes to modernize ocde base
> >>> o free sval member before setting it
> >>> o fix a bug where a{0,3} could match aaaa
> >>> o pull in systime and strftime from NetBSD awk
> >>> o pull in fixes from {Net,Free,Open}BSD (normalized our code with
> >>> them)
> >>> o add BSD extensions and, or, xor, compl, lsheift, rshift (mostly a
> >>> nop)
> >>>
> >>> Also revert a few of the trivial FreeBSD changes that were done
> >>> slightly
> >>> differently in the upstreaming process. Also, our PR database may
> >>> have
> >>> been mined by upstream for these fixes, and Mikolaj Golub may
> >>> deserve
> >>> credit for some of the fixes in this update.
> >>>
> >>> Suggested by: Mikolaj Golub <to.my.trociny at gmail.com>
> >>> PR: 143363,143365,143368,143369,143373,143375,214782
> >>> Sponsored by: Netflix
> >>>
> >>> (cherry picked from commit f39dd6a9784467f0db5886012b3f4b13899be6b8)
> >>>
> >>> I *think* this is the relevant commit, but I’m not 100% sure.
> >>>
> >>> Anyway, I’ve recently started seeing issues building pfSense for
> >>> aarch64.
> >>> I’ve finally narrowed it down, and replicated the problem on base
> >>> FreeBSD
> >>> (stable/12, but I assume other branches are affected too).
> >>>
> >>> It fails to build proctab.c. This file is generated by maketab, a
> >>> tool
> >>> built as part of the build process. In my case this tool is built
> >>> for
> >>> aarch64, which makes executing it on amd64 less successful than
> >>> we’d like.
> >>>
> >>> This only happens when building with META_MODE though. I do not
> >>> understand the build system sufficiently to debug why. Hopefully
> >>> you’ll
> >>> have a better idea.
> >>>
> >> Generally I do, but this one is a bit weird. Also, the amount of
> >> context
> >> you've included omits the actual error :( Though I'm guessing it's
> >> wrong
> >> arch for the build tool...
> >>
> >> I rarely use meta mode, and understand it not at all, but awk follows
> >> the
> >> same patterns as /bin/sh and /bin/csh does
> >>
> >
> > [[ stupid gmail ]]
> >
> > I've just pushed removal of proctab.c. That may fix this, though I'm
> > not
> > hopeful.
> Unfortunately that didn’t help.
>
> > I've rarely used metamode, and not for quite some time, but this
> > an extra file that would confuse things so that maketab might not be
> > built
> > during build-tools and instead is built later. Please give that a try,
> > and
> > I'll start a meta build, but that takes a while, not least because I
> > have
> > to re-leran how to do that :)
> >
> I’ve posted my build log and the proctab.c.meta and maketab.meta files
> on https://people.freebsd.org/~kp/meta/
>
> I’m a little confused by maketab.meta, because what’s in the meta
> file doesn’t seem to match the build command seen in the metamode.log
> file.
>

Yea. It's getting confused and rebuilding it bogusly. For the mknodes in
sh, we don't see the naked cc command, but we do for maketab.

I'm testing a fix right now, though, and we'll see if that fixes things. I
think I know what's going on.

Warner


More information about the dev-commits-src-all mailing list