From owner-svn-src-all@freebsd.org Tue May 29 15:29:11 2018 Return-Path: Delivered-To: svn-src-all@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 93E70EEFF35 for ; Tue, 29 May 2018 15:29:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x22b.google.com (mail-io0-x22b.google.com [IPv6:2607:f8b0:4001:c06::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 23AC07070E for ; Tue, 29 May 2018 15:29:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x22b.google.com with SMTP id 200-v6so17045771ioz.6 for ; Tue, 29 May 2018 08:29:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20150623.gappssmtp.com; s=20150623; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=pABj3kJ6EPs7bw0XB4Kn52hs4RLv+NMGPRhZn+pDLaw=; b=wXzSXjEwhXP5EzX3QkTnv9A4QDE1tbW35nazQXGic3TD3EpON87mvCl/ywfviNMCt3 JcCy/V7p4Dk3JKEnpBLUGzSlzO9eMETRB48wY2j6yQ9o1nfs+Tmx6amjJ/ywLMhNOf1O 6DG+NsOGHr27XcTY/pNdLA9S5IohEQ7Gz+LQAn8oVKszGQlyBoW4arspOnwXGMqhZFJs +1cohwiLv29NEX8vU1an2PnadzK+iXTZqJ+Ph2MK2GD6YKdHyYiUTFucfqgwIUBupM82 xev/bSl4A4i1cUuOMOYNGMTgSWMJqWZZGsID10o+2j/Iau6ZZ2QhZ5w5MWbScwEJgJSR U4IA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=pABj3kJ6EPs7bw0XB4Kn52hs4RLv+NMGPRhZn+pDLaw=; b=TD9tbFkl/YedkIPK1SKw8c6NsBxn+upFwaRFMrWpRsLxFRo4nMGqoDbR1Wy0PFx7Be UsZHYxwwDMunalWn7juUiQiS2YhZKQBKCVoXM9q8oAbxLNiXZLLisL+hiSkloaCJPK2U v03hdR7CchbEpMN4XXukAMHRE9ug0oTj0FX6T67ovDe7V2atotuKsdqZQ7TEpgJJpMRN 1dzMQ/Nsfl5YgFY25RfWDqfT+mD/GheXkyGAB6tM87P7AwPVYlB1K3xn+L9CKrX+ATF4 ZMbgVje5uwJK5VCieqXyJ6oIE+LjnhUEOrtfLo9DcMapHfEwpWB477cyolD3H9et6MG0 c5PA== X-Gm-Message-State: ALKqPwfb1f3SvJtU7LXG6DUbPKXihYusvhr/NuiPb20uhjthtDct9qTS 1f+Df3dm/ING56ZjDt1xu56TnUi8JMtcYV++YBGgfw== X-Google-Smtp-Source: ADUXVKJGgkqk5TK3b8NtKvCnpaQnKomXpaPu0kYohXVqqIw04mqJycZRNDMuMy7LRGyJRjsyLOtjTBp/vn0ujjhT6qQ= X-Received: by 2002:a6b:284b:: with SMTP id o72-v6mr6742456ioo.168.1527607750410; Tue, 29 May 2018 08:29:10 -0700 (PDT) MIME-Version: 1.0 Sender: wlosh@bsdimp.com Received: by 2002:a4f:d028:0:0:0:0:0 with HTTP; Tue, 29 May 2018 08:29:09 -0700 (PDT) X-Originating-IP: [2603:300b:6:5100:1052:acc7:f9de:2b6d] In-Reply-To: References: <201805291302.w4TD2bR5059884@slippy.cwsent.com> <168f4cd3-07d2-15cb-9cf4-a2d02f6dc260@selasky.org> From: Warner Losh Date: Tue, 29 May 2018 09:29:09 -0600 X-Google-Sender-Auth: SgrPwvk-ztLzoyzSm7YW1ISS1Qc Message-ID: Subject: Re: svn commit: r334320 - in head/sys: cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys i386/include To: Hans Petter Selasky Cc: Ed Maste , Cy Schubert , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.26 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 29 May 2018 15:29:11 -0000 On Tue, May 29, 2018 at 8:16 AM, Hans Petter Selasky wrote: > On 05/29/18 16:00, Ed Maste wrote: > >> On IRC the suggestion was made to run buildworld for any header >> change, and I think this seems like a reasonable standard. >> >> Our full buildworld times are admittedly quite long, so if you have a >> suitably up-to-date toolchain on the build host you can skip building >> toolchain components with something like: >> >> make -DWITHOUT_TOOLCHAIN -DWITHOUT_CLANG_BOOTSTRAP >> -DWITHOUT_LLD_BOOTSTRAP buildworld >> > > Hi, > > Thanks for the tip w.r.t. getting clang out of the buildworld. > > Maybe this can be written down on some Wikipage . freebsd . org ? > > The title could be "Who are my dependencies when changing code?", and it > should answer the following questions like some kind of flow graph: > > - Shortcuts for kernel builds. > -DNO_CLEAN is the safest. KERNFAST=config will skip some steps when doing iterative development (like config and depend), so it's more dangerous, but often suffices. > - Shortcuts for user-space builds. > For non-major stuff, I do a -DNO_CLEAN build as a sanity check. I hesitate to enshrine too many shortcuts here because we want the buildworld path well tested because that's the path users take. Anything beyond -DNO_CLEAN likely is too risky. > - Shortcuts for ports interactions. > There are no shortcuts here. Only driving fast and taking chances. > - When do I only need to build a kernel module. > When you only changed .c or .s files that are used by the module. Even then, there are some build failure that can happen in the kernel and not the module and vice-versa. > - When do I only need to build a single utility. > Only changed .c files and those .c files aren't used elsewhere in the tree. > - When do I do a full kernel build. > Changing config and/or any .h file. > - When do I do a full user-space build. > Changing any .h file, or altering anything in a library. > - When do I do a universe build. > Any change to any printf :). Any time you change the MI/MD interface in the kernel. Any time you have code that might be architecturally different (this is hard to know) > - When do I ask ports guys for help. Anytime you change the userland API :). The advice in the developer's handbook has grown stale. We should update that. But machines are fast these days, and too many short-cuts has historically caused problems. There's rarely a need to rush things in so fast you can't build the system. I amortize the build times over several changes at once using git svn to curate / manage the changes until they are good. Also, you really should be running the changes you make. Ideally, you'd test boot the whole system, but that's overkill if you fixed a smelling error in ls. Warner