From: hpa@zytor.com (H. Peter Anvin)
To: linux-kernel@vger.kernel.org
Subject: Re: kbuild: Implicit dependence on the C compiler
Date: Tue, 18 Jan 2005 19:35:43 +0000 (UTC) [thread overview]
Message-ID: <csjoef$gkt$1@terminus.zytor.com> (raw)
In-Reply-To: 20050118190513.GA16120@mars.ravnborg.org
Followup to: <20050118190513.GA16120@mars.ravnborg.org>
By author: Sam Ravnborg <sam@ravnborg.org>
In newsgroup: linux.dev.kernel
>
> To give some background info about why kbuild does what it does.
> A kernel being compiled partly with and partly without say -regparm=3
> will result in a non-workable kernel.
>
> The same goes for a kernel that is partly built using gcc 2.96, partly
> using 3.3.4 for example.
>
> So kbuild pr. default will force a recompile for any .o file where
> opions to gcc differ, or name of gcc has changed. Today no check has
> been implemented to check the actual gcc executable timestamp - and
> neither is this planned.
>
I would argue that "name of gcc has changed" is possibly a condition
that does more harm than good. It is just as frequently used to have
wrappers, like distcc, as it is to have different versions.
(FWIW, nothing is more obnoxious than having the kernel tree blown
away when you try to compile in the one missing driver needed to talk
to the rest of your distcc cluster.)
> Default behaviour today is to recompile if anything change.
>
> But as hpa points outs this hits us with nfs mounted kernel tree when
> performing a make install - because install has vmlinux as prerequsite.
> So this leaves us with at least two possibilitites:
> 1) Unconditionally execute make install assuming vmlinux is up-to-date.
> make modules_install run unconditionally, so this is already know
> practice
> 2) Detect that aother user is running the build - and therefore skip
> the kernel and the module build.
> This is a rather intrusive change since with current kbuild structure
> it is rather difficult to stop this in all relevant cases.
I say unconditionally do make install, but there really, REALLY, need
to be a way to override this check manually.
-hpa
next prev parent reply other threads:[~2005-01-18 19:42 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-01-17 21:40 kbuild: Implicit dependence on the C compiler H. Peter Anvin
2005-01-17 22:00 ` Sam Ravnborg
2005-01-17 22:03 ` H. Peter Anvin
2005-01-17 22:13 ` Sam Ravnborg
2005-01-17 22:47 ` H. Peter Anvin
2005-01-18 19:05 ` Sam Ravnborg
2005-01-18 19:35 ` H. Peter Anvin [this message]
2005-01-19 1:26 ` Matt Mackall
2005-01-19 3:35 ` H. Peter Anvin
2005-01-19 4:42 ` Marcin Dalecki
2005-01-29 21:26 ` Sam Ravnborg
2005-01-30 1:17 ` H. Peter Anvin
[not found] <fa.e2phu9o.1c30pig@ifi.uio.no>
[not found] ` <fa.gakt9b5.1klcr9h@ifi.uio.no>
2005-01-19 16:09 ` Bodo Eggert
2005-01-19 16:35 ` linux-os
2005-01-19 17:15 ` Sytse Wielinga
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='csjoef$gkt$1@terminus.zytor.com' \
--to=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox