From nobody Fri Nov 19 08:22:06 2021 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id B94B118977D6; Fri, 19 Nov 2021 08:22:18 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from smtp.freebsd.org (smtp.freebsd.org [IPv6:2610:1c1:1:606c::24b:4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4HwV5Q4dX0z4nXg; Fri, 19 Nov 2021 08:22:18 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: from mail-qk1-f181.google.com (mail-qk1-f181.google.com [209.85.222.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) (Authenticated sender: kevans) by smtp.freebsd.org (Postfix) with ESMTPSA id 73C0A15D4; Fri, 19 Nov 2021 08:22:18 +0000 (UTC) (envelope-from kevans@freebsd.org) Received: by mail-qk1-f181.google.com with SMTP id i9so9451035qki.3; Fri, 19 Nov 2021 00:22:18 -0800 (PST) X-Gm-Message-State: AOAM533Hte9wPSOMujG/O7rWGrJvgWkp7Y/Dlwhe56kH/gcHUlJluewN 9V6P/t/Zn1S+eqTrtE6ny0krkg4sNz0BzNGfGkI= X-Google-Smtp-Source: ABdhPJxQuj0681uqJZJD60kiJJCP18mHCyJmJqZG7+0EoOg8frtZclgTlb5iBTWJiwB6Pms1Vest44NA1fjBN8EWygA= X-Received: by 2002:a05:620a:c4a:: with SMTP id u10mr26281419qki.69.1637310137645; Fri, 19 Nov 2021 00:22:17 -0800 (PST) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 References: <202111190614.1AJ6EfS2069583@gitrepo.freebsd.org> In-Reply-To: From: Kyle Evans Date: Fri, 19 Nov 2021 02:22:06 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: git: a420a672bc53 - main - Bootstrap: Prune building from pre-FreeBSD 11 support To: Warner Losh Cc: Warner Losh , src-committers , "" , dev-commits-src-main@freebsd.org Content-Type: text/plain; charset="UTF-8" X-ThisMailContainsUnwantedMimeParts: N On Fri, Nov 19, 2021 at 1:13 AM Warner Losh wrote: > > > > On Thu, Nov 18, 2021 at 11:29 PM Kyle Evans wrote: >> >> On Fri, Nov 19, 2021 at 12:14 AM Warner Losh wrote: >> > >> > The branch main has been updated by imp: >> > >> > URL: https://cgit.FreeBSD.org/src/commit/?id=a420a672bc53bd3928626aa5d0ec5b41c0471356 >> > >> > commit a420a672bc53bd3928626aa5d0ec5b41c0471356 >> > Author: Warner Losh >> > AuthorDate: 2021-10-10 17:28:54 +0000 >> > Commit: Warner Losh >> > CommitDate: 2021-11-19 06:13:44 +0000 >> > >> > Bootstrap: Prune building from pre-FreeBSD 11 support >> > >> > We don't need to bootstrap lex or md4 anymore. >> > Cat doesn't need to be bootstrapped (but is needed for buildkernel) >> > cruncgen doesn't need to be bootstrapped at all. >> > kbdcontrol isn't needed >> > >> > Sponsored by: Netflix >> > Pull Request: https://github.com/freebsd/freebsd-src/pull/554 >> > --- >> > Makefile.inc1 | 51 ++++----------------------------------------------- >> > 1 file changed, 4 insertions(+), 47 deletions(-) >> > >> > diff --git a/Makefile.inc1 b/Makefile.inc1 >> > index d8f50cf77d4b..6573b4a079a1 100644 >> > --- a/Makefile.inc1 >> > +++ b/Makefile.inc1 >> > @@ -681,8 +681,8 @@ PACKAGE= kernel >> > >> > BOOTSTRAPPING?= 0 >> > # Keep these in sync >> > -MINIMUM_SUPPORTED_OSREL?= 1002501 >> > -MINIMUM_SUPPORTED_REL?= 10.3 >> > +MINIMUM_SUPPORTED_OSREL?= 1102501 >> > +MINIMUM_SUPPORTED_REL?= 11.3 >> > >> > # Common environment for world related stages >> > CROSSENV+= \ >> > @@ -2239,24 +2239,6 @@ _vtfontcvt= usr.bin/vtfontcvt >> > # If you add a new bootstrap tool where we could also use the host version, >> > # please ensure that you also add a .else case where you add the tool to the >> > # _bootstrap_tools_links variable. >> > -.if ${BOOTSTRAPPING} < 1000033 >> > -# Note: lex needs m4 to build but m4 also depends on lex (which needs m4 to >> > -# generate any files). To fix this cyclic dependency we can build a bootstrap >> > -# version of m4 (with pre-generated files) then use that to build the real m4. >> > -# We can't simply use the host m4 since e.g. the macOS version does not accept >> > -# the flags that are passed by lex. >> > -# For lex we also use the pre-gerated files since we would otherwise need to >> > -# build awk and sed first (which need lex to build) >> > -# TODO: add a _bootstrap_lex and then build the real lex afterwards >> > -_lex= usr.bin/lex >> > -_m4= tools/build/bootstrap-m4 usr.bin/m4 >> > -${_bt}-tools/build/bootstrap-m4: ${_bt}-usr.bin/lex ${_bt}-lib/libopenbsd ${_bt}-usr.bin/yacc >> > -${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd ${_bt}-usr.bin/yacc ${_bt}-usr.bin/lex ${_bt}-tools/build/bootstrap-m4 >> > -_bt_m4_depend=${_bt}-usr.bin/m4 >> > -_bt_lex_depend=${_bt}-usr.bin/lex ${_bt_m4_depend} >> > -.else >> > -_bootstrap_tools_links+=m4 lex >> > -.endif >> > >> > # ELF Tool Chain libraries are needed for ELF tools and dtrace tools. >> > # r296685 fix cross-endian objcopy >> >> I'll leave a comment on just this first one, but it applies to the >> others as well... this left a bunch of references to the removed >> variables elsewhere in Makefile.inc1 that need to be removed. I'm also >> not entirely convinced that flat removal was entirely right....these >> should have probably been replaced with just the >> _bootstrap_tools_links additions, because we presumably still want >> them linked in if we're not building them. > > > I hadn't thought of that. I'm reverting until I can think this through. It worked > in the test builds, but I want to understand when it might be needed. thanks > for the feedback. > I think it's a BUILD_WITH_STRICT_TMPPATH violation -- it doesn't currently work anyways according to comments, but it's probably good to avoid. I'm not all that familiar with this part of the build, though, so hopefully someone with knowledge of the seedier parts will chime in. > Warner > >> >> >> > @@ -2292,21 +2274,6 @@ ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libnetbsd >> > _bootstrap_tools_links+=mtree >> > .endif >> > >> > -# r246097: log addition login.conf.db, passwd, pwd.db, and spwd.db with cat -l >> > -.if ${BOOTSTRAPPING} < 1000027 >> > -_cat= bin/cat >> > -.else >> > -_bootstrap_tools_links+=cat >> > -.endif >> > - >> > -# r277259 crunchide: Correct 64-bit section header offset >> > -# r281674 crunchide: always include both 32- and 64-bit ELF support >> > -.if ${BOOTSTRAPPING} < 1100078 >> > -_crunchide= usr.sbin/crunch/crunchide >> > -.else >> > -_bootstrap_tools_links+=crunchide >> > -.endif >> > - >> > # 1300115: Higher WARNS fixes >> > .if ${BOOTSTRAPPING} < 1202502 || \ >> > (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300131) >> > @@ -2315,18 +2282,6 @@ _crunchgen= usr.sbin/crunch/crunchgen >> > _bootstrap_tools_links+=crunchgen >> > .endif >> > >> > -# r296926 -P keymap search path, MFC to stable/10 in r298297 >> > -# Note: kbdcontrol can not be bootstrapped on non-FreeBSD systems >> > -.if !defined(CROSSBUILD_HOST) >> > -.if (${BOOTSTRAPPING} < 1003501 || \ >> > - (${BOOTSTRAPPING} >= 1100000 && ${BOOTSTRAPPING} < 1100103) || \ >> > - (!exists(/usr/sbin/kbdcontrol))) >> > -_kbdcontrol= usr.sbin/kbdcontrol >> > -.else >> > -_bootstrap_tools_links+=kbdcontrol >> > -.endif >> > -.endif >> > - >> > # 1300102: VHDX support >> > .if ${BOOTSTRAPPING} < 1201520 || \ >> > (${BOOTSTRAPPING} > 1300000 && ${BOOTSTRAPPING} < 1300102) >> > @@ -2423,6 +2378,8 @@ _basic_bootstrap_tools+=usr.sbin/services_mkdb usr.sbin/pwd_mkdb >> > # bootstrap ldd on non-FreeBSD systems >> > _basic_bootstrap_tools+=usr.bin/ldd >> > .endif >> > +# cat is used by sys/kern/genoffset.sh and sys/conf/newvers.sh >> > +_basic_bootstrap_tools+=bin/cat >> > # sysctl/chflags are required for installkernel: >> > .if !defined(CROSSBUILD_HOST) >> > _basic_bootstrap_tools+=bin/chflags