* 2.6.14-rc1 ia64 rebuilds everything every time
@ 2005-09-13 6:32 Keith Owens
2005-09-13 9:34 ` Peter Chubb
2005-09-13 19:44 ` Sam Ravnborg
0 siblings, 2 replies; 3+ messages in thread
From: Keith Owens @ 2005-09-13 6:32 UTC (permalink / raw)
To: linux-ia64
Because of the recursive definition in ia64 asm-offset.c, where the
file has to exist with a dummy line before it can be generated, we end
up with this recursive dependency.
arch/ia64/kernel/asm-offsets.s -> include/asm/asm-offsets.h (.cmd file)
include/asm/asm-offsets.h -> arch/ia64/kernel/asm-offsets.s (explicit)
Every 2.6.14-rc1 build rebuilds asm-offsets.s, because it asm-offsets.h
is newer. Which then rebuilds asm-offsets.h, which in turn rebuilds
everything else.
Best solution: remove (and forbid) recursive definitions in asm-offset.c.
Kludge 1: edit arch/$(ARCH)/kernel/.asm-offsets.s.cmd to remove
include/asm/asm-offsets.h.
Kludge 2: Build arch/$(ARCH)/kernel/asm-offsets.s as a temporary file
then check if it has changed or not, only updating the real
arch/$(ARCH)/kernel/asm-offsets.s if there is any change.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 2.6.14-rc1 ia64 rebuilds everything every time
2005-09-13 6:32 2.6.14-rc1 ia64 rebuilds everything every time Keith Owens
@ 2005-09-13 9:34 ` Peter Chubb
2005-09-13 19:44 ` Sam Ravnborg
1 sibling, 0 replies; 3+ messages in thread
From: Peter Chubb @ 2005-09-13 9:34 UTC (permalink / raw)
To: linux-ia64
>>>>> "Keith" = Keith Owens <kaos@sgi.com> writes:
Keith> Best solution: remove (and forbid) recursive definitions in
Keith> asm-offset.c.
Unfortunately,I'm not sure that's possible.
Keith> Kludge 2: Build arch/$(ARCH)/kernel/asm-offsets.s as a
Keith> temporary file then check if it has changed or not, only
Keith> updating the real arch/$(ARCH)/kernel/asm-offsets.s if there is
Keith> any change.
This is what used to happen.
Peter C
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: 2.6.14-rc1 ia64 rebuilds everything every time
2005-09-13 6:32 2.6.14-rc1 ia64 rebuilds everything every time Keith Owens
2005-09-13 9:34 ` Peter Chubb
@ 2005-09-13 19:44 ` Sam Ravnborg
1 sibling, 0 replies; 3+ messages in thread
From: Sam Ravnborg @ 2005-09-13 19:44 UTC (permalink / raw)
To: linux-ia64
On Tue, Sep 13, 2005 at 07:34:44PM +1000, Peter Chubb wrote:
> >>>>> "Keith" = Keith Owens <kaos@sgi.com> writes:
>
>
> Keith> Best solution: remove (and forbid) recursive definitions in
> Keith> asm-offset.c.
>
> Unfortunately,I'm not sure that's possible.
>
>
> Keith> Kludge 2: Build arch/$(ARCH)/kernel/asm-offsets.s as a
> Keith> temporary file then check if it has changed or not, only
> Keith> updating the real arch/$(ARCH)/kernel/asm-offsets.s if there is
> Keith> any change.
>
> This is what used to happen.
What actually used to happen was that asm-offsets.h seldom was rebuild
despite included file had changed in the meantime.
When it then got rebuild - then we did the "has file changed" trick.
That I can be convinced to add back. On the other hand this is no more
special than any other fundamental .h file - when it changes we
recompile was uses it.
The reason why it hit us hard with ia64 is that is gets rebuild due to
the circular dependency where the file used to build asm-offsets.h uses
asm-offsets.h.
If we solve that problem the 'recompile everything' issue disappear.
Tony already posted an ugly patch to solve most of this.
I agree fully with Tony this is an ugly patch - did I have better
ideas how to solve it I would have posted a patch.
Sam
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2005-09-13 19:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-13 6:32 2.6.14-rc1 ia64 rebuilds everything every time Keith Owens
2005-09-13 9:34 ` Peter Chubb
2005-09-13 19:44 ` Sam Ravnborg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox