Thank you Stefan for tracking this down! I thought I was seeing things after our IRC conversation about it. :-)
Technology Strategist, Dell Office of the CTO
linux.dell.com & http://www.dell.com/linux
From: Marty Connor [mailto:mdc@...]
Sent: Tuesday, March 02, 2010 9:14 PM
To: Stefan Hajnoczi
Cc: Etherboot General Discussion List; Etherboot Developers List; gpxe-devel@...
Subject: Re: [Etherboot-developers] [gPXE-devel] [PATCH] [makefile] Disable ccache for embedded.o
Wow. Nice debugging, Stefan. Seems like a nice improvement.
Looks like something we should definitely apply, when you're comfortable
Hmm, I also just noticed that hardly anyone has joined gpxe-devel. I
think a message to etherboot-developers is in order.
Patches like this are too good to miss :)
Hey! All you people on Etherboot-Developers, please join
gpxe-devel@... (and gpxe@... if you haven't)
>>>> http://etherboot.org/mailman/listinfo <<<<
Don't miss out on quality conversation! Join today! :)
/ Marty /
On 3/1/10 3:34 PM, Stefan Hajnoczi wrote:
> Embedded image support uses .incbin in inline assembly to include binary
> files. The file dependency is not spotted by ccache when deciding
> whether or not to rebuild embedded.o. This results in builds that
> contain an outdated version of the embedded image when ccache is used.
> Reported-by: Tim 'Shaggy' Bielawa <tbielawa@...>
> Reported-by: Matt Domsch <Matt_Domsch@...>
> Signed-off-by: Stefan Hajnoczi <stefanha@...>
> src/Makefile.housekeeping | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
> diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
> index 1f5e115..8ba7e44 100644
> --- a/src/Makefile.housekeeping
> +++ b/src/Makefile.housekeeping
> @@ -511,6 +511,13 @@ EMBED_ALL := $(foreach i,$(call seq,1,$(words $(EMBEDDED_FILES))),\
> \"$(notdir $(word $(i),$(EMBEDDED_FILES)))\" ))
> $(BIN)/embedded.o : $(EMBEDDED_FILES) $(EMBEDDED_LIST)
> +# This file uses .incbin inline assembly to include a binary file.
> +# Unfortunately ccache does not detect this dependency and caches builds even
> +# when the binary file has changed.
> +$(BIN)/embedded.o : override CC := env CCACHE_DISABLE=1 $(CC)
> CFLAGS_embedded = -DEMBED_ALL="$(EMBED_ALL)"
> # Generate the NIC file from the parsed source files. The NIC file is
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
Etherboot-developers mailing list