From owner-freebsd-current@freebsd.org Thu May 31 19:50:16 2018 Return-Path: Delivered-To: freebsd-current@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A353FD34BA for ; Thu, 31 May 2018 19:50:16 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from kib.kiev.ua (kib.kiev.ua [IPv6:2001:470:d5e7:1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id DBE167AEEF; Thu, 31 May 2018 19:50:15 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from tom.home (kib@localhost [127.0.0.1]) by kib.kiev.ua (8.15.2/8.15.2) with ESMTP id w4VJo4Lm089889; Thu, 31 May 2018 22:50:07 +0300 (EEST) (envelope-from kostikbel@gmail.com) DKIM-Filter: OpenDKIM Filter v2.10.3 kib.kiev.ua w4VJo4Lm089889 Received: (from kostik@localhost) by tom.home (8.15.2/8.15.2/Submit) id w4VJo30T089885; Thu, 31 May 2018 22:50:03 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: tom.home: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 31 May 2018 22:50:03 +0300 From: Konstantin Belousov To: Dimitry Andric Cc: Warner Losh , Benjamin Kaduk , Gary Jennejohn , FreeBSD Current Subject: Re: ``make buildkernel'' fails when /usr/obj is empty Message-ID: <20180531195003.GZ3789@kib.kiev.ua> References: <20180531095222.399e7a37@ernst.home> <20180531095850.5845fd7a@ernst.home> <20180531160406.GD27985@kduck.kaduk.org> <32C087A4-1B67-4694-B769-16A347D4804E@FreeBSD.org> <7464D18D-2879-4C2A-ADD3-BF84D80940BB@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7464D18D-2879-4C2A-ADD3-BF84D80940BB@FreeBSD.org> User-Agent: Mutt/1.10.0 (2018-05-17) X-Spam-Status: No, score=-2.0 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,NML_ADSP_CUSTOM_MED autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on tom.home X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 May 2018 19:50:16 -0000 On Thu, May 31, 2018 at 08:19:20PM +0200, Dimitry Andric wrote: > On 31 May 2018, at 20:11, Warner Losh wrote: > > > > On Thu, May 31, 2018 at 11:47 AM, Dimitry Andric wrote: > > On 31 May 2018, at 18:04, Benjamin Kaduk wrote: > > > On Thu, May 31, 2018 at 09:58:50AM +0200, Gary Jennejohn wrote: > > >> On Thu, 31 May 2018 09:52:22 +0200 > > >> Gary Jennejohn wrote: > ... > > > Whatever happened to the "run buildworld or kernel-toolchain before > > > buildkernel" requirement? > > > > That is still a requirement, yes. Otherwise, you might have outdated > > toolchain components are in your /usr/obj. > > > > Usually you can get away without doing that, and now that clang is the toolchain that's rebuilt (and that's not fast) people try to get away with it more and more... > > Actually clang doesn't get updated *that* often, but there is a minor > snag that one of llvm's config files (lib/clang/include/llvm/Config/config.h) > includes , so each time __FreeBSD_version is bumped, quite > a lot of dependencies get triggered... > > The version is only used for two checks: > > #if __FreeBSD_version >= 1000052 > /* Define to 1 if you have the `backtrace' function. */ > #define HAVE_BACKTRACE TRUE > > and: > > /* Define to 1 if you have the `futimens' function. */ > #if __FreeBSD_version >= 1100056 > #define HAVE_FUTIMENS 1 > #endif > > Maybe the first check could be dropped, assuming that backtrace() is > always available, but I'm not sure about futimens(). Is there any > supported version of FreeBSD left that does *not* have it? Or you can manually define the symbols as needed on each branch, eliminating the need for osreldate.h and reusable if some other configuration variable needs to be conditionally set.