From owner-svn-src-head@freebsd.org Tue May 29 15:29:11 2018 Return-Path: Delivered-To: svn-src-head@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 916D3EEFF34 for ; Tue, 29 May 2018 15:29:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-io0-x231.google.com (mail-io0-x231.google.com [IPv6:2607:f8b0:4001:c06::231]) (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 23C557070F for ; Tue, 29 May 2018 15:29:11 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: by mail-io0-x231.google.com with SMTP id d73-v6so18065473iog.3 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=GJCx/do5a1LZfs1AtvxOUdMOU8o0ZaIB6ITe1U50G0qkJelCflKLmcRxtznKVYrwt6 7FuzegjI4C+DOeJlMAdpkiAutaCAR3m6E8CHGcMfqFu9VFrjSPDTpV4z+Y77bInt8Ru8 FAs4VWx8EboKBIQl/CHcD31FBjiAZIBP9ajpmxEqr+vixctWkQl963vhtTsErEdhfYMk 6TcX+h29zdeMLkvs0r/+D4yyAvOqvdS/e3Xd1z0EbjvN6Y8RDOoMecb4JpSrqRIgxmsx MdN+QTWY/ei/+bYjUrzb5a0vrRnmw5mbmRh9XVSr74/RjjCGP0aAPsVLOe5gUT2GSxt/ Yt6g== X-Gm-Message-State: ALKqPwcvyyhbHc1f3epEzaqZ9LEDpJy0NTrt6mjP/ZXqCjau7tQbHuCG vsrIApoWddJ2GzJGwBTkrUlmDs7CwahA5dRkiXPpgA== 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-head@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: SVN commit messages for the src tree for head/-current 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