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 18:08:19 UTC 2021


On Sat, Jul 31, 2021 at 11:28 AM Warner Losh <imp at bsdimp.com> wrote:

>
>
> 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.
>

I just pushed 1dfb6e5d1f462af4f4df818ee93766f09f3aa787, which fixed the
issues I was seeing. Does that do the trick for you as well?

Warner


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