[build] Disable ccache for embedded.o
authorStefan Hajnoczi <stefanha@gmail.com>
Mon, 1 Mar 2010 20:34:47 +0000 (20:34 +0000)
committerMarty Connor <mdc@etherboot.org>
Thu, 4 Mar 2010 15:52:56 +0000 (10:52 -0500)
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@jabber.org>
Reported-by: Matt Domsch <Matt_Domsch@dell.com>
Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Marty Connor <mdc@etherboot.org>
15 files changed:
.dotest/0001 [new file with mode: 0644]
.dotest/applying [new file with mode: 0644]
.dotest/binary [new file with mode: 0644]
.dotest/final-commit [new file with mode: 0644]
.dotest/final-commit~ [new file with mode: 0644]
.dotest/info [new file with mode: 0644]
.dotest/keep [new file with mode: 0644]
.dotest/last [new file with mode: 0644]
.dotest/msg [new file with mode: 0644]
.dotest/msg-clean [new file with mode: 0644]
.dotest/next [new file with mode: 0644]
.dotest/patch [new file with mode: 0644]
.dotest/sign [new file with mode: 0644]
.dotest/utf8 [new file with mode: 0644]
.dotest/whitespace [new file with mode: 0644]

diff --git a/.dotest/0001 b/.dotest/0001
new file mode 100644 (file)
index 0000000..eecfc29
--- /dev/null
@@ -0,0 +1,103 @@
+Return-Path: <gpxe-devel-bounces@etherboot.org>\r
+Received: from p02c12m103.mxlogic.net (208.65.145.245) by entity.com with\r
+ ESMTP (EIMS X 3.3.9) for <mdc@entity.com>; Mon, 1 Mar 2010 15:40:07 -0500\r
+Received: from unknown [140.211.167.171] (EHLO etherboot.org)\r
+       by p02c12m103.mxlogic.net(mxl_mta-6.5.0-1) over TLS secured channel\r
+       with ESMTP id fd42c8b4.0.4168455.00-005.7521746.p02c12m103.mxlogic.net (envelope-from <gpxe-devel-bounces@etherboot.org>);\r
+       Mon, 01 Mar 2010 13:34:39 -0700 (MST)\r
+Received: from etherboot.org (localhost.localdomain [127.0.0.1])\r
+       by etherboot.org (8.14.2/8.14.1) with ESMTP id o21KYbS7012321;\r
+       Mon, 1 Mar 2010 15:34:38 -0500\r
+Received: from p02c11m026.mxlogic.net (mxl144v245.mxlogic.net [208.65.144.245])\r
+       by etherboot.org (8.14.2/8.14.1) with ESMTP id o21KYY2N012318\r
+       for <gpxe-devel@etherboot.org>; Mon, 1 Mar 2010 15:34:34 -0500\r
+Received: from unknown [74.125.82.172] (EHLO mail-wy0-f172.google.com)\r
+       by p02c11m026.mxlogic.net(mxl_mta-6.5.0-1)\r
+       with ESMTP id 9d42c8b4.0.166215.00-009.325205.p02c11m026.mxlogic.net\r
+       (envelope-from <stefanha@gmail.com>); \r
+       Mon, 01 Mar 2010 13:34:33 -0700 (MST)\r
+Received: by wyb40 with SMTP id 40so1419829wyb.3\r
+       for <gpxe-devel@etherboot.org>; Mon, 01 Mar 2010 12:34:32 -0800 (PST)\r
+Received: by 10.216.90.131 with SMTP id e3mr3423835wef.69.1267475672513;\r
+       Mon, 01 Mar 2010 12:34:32 -0800 (PST)\r
+Received: from localhost.localdomain ([109.170.137.145])\r
+       by mx.google.com with ESMTPS id q9sm12235819gve.9.2010.03.01.12.34.30\r
+       (version=TLSv1/SSLv3 cipher=RC4-MD5);\r
+       Mon, 01 Mar 2010 12:34:31 -0800 (PST)\r
+From: Stefan Hajnoczi <stefanha@gmail.com>\r
+To: gpxe-devel@etherboot.org\r
+Date: Mon,  1 Mar 2010 20:34:47 +0000\r
+Message-Id: <1267475687-2588-1-git-send-email-stefanha@gmail.com>\r
+X-Mailer: git-send-email 1.6.6.1\r
+X-Spam: [F=0.0026605109; B=0.500(0); spf=0.500; CM=0.500; MH=0.500(2010030128);\r
+       R=0.010(110211361); S=0.200(2010022601); SC=none]\r
+X-MAIL-FROM: <stefanha@gmail.com>\r
+X-SOURCE-IP: [74.125.82.172]\r
+X-AnalysisOut: [v=1.0 c=1 a=rKSIm1mMmeAA:10 a=D3jKoc08XWmMkYP2DZwE0A==:17 ]\r
+X-AnalysisOut: [a=RqVXL-LNAAAA:8 a=iLNU1ar6AAAA:8 a=pGLkceISAAAA:8 a=AuZ9e]\r
+X-AnalysisOut: [Z2SswYdc2fNWtAA:9 a=CPnfYM3Gieb-gT-cb9IA:7 a=LC8435YRJuG01]\r
+X-AnalysisOut: [rSSbKrC0rh93LgA:4 a=DOYNd9a5gwgA:10 a=-XwJ49_kmwcA:10 a=MS]\r
+X-AnalysisOut: [l-tDqOz04A:10]\r
+Subject: [gPXE-devel] [PATCH] [makefile] Disable ccache for embedded.o\r
+X-BeenThere: gpxe-devel@etherboot.org\r
+X-Mailman-Version: 2.1.9\r
+Precedence: list\r
+List-Id: gPXE development discussion <gpxe-devel.etherboot.org>\r
+List-Unsubscribe: <http://etherboot.org/mailman/listinfo/gpxe-devel>,\r
+       <mailto:gpxe-devel-request@etherboot.org?subject=unsubscribe>\r
+List-Archive: <http://etherboot.org/pipermail/gpxe-devel>\r
+List-Post: <mailto:gpxe-devel@etherboot.org>\r
+List-Help: <mailto:gpxe-devel-request@etherboot.org?subject=help>\r
+List-Subscribe: <http://etherboot.org/mailman/listinfo/gpxe-devel>,\r
+       <mailto:gpxe-devel-request@etherboot.org?subject=subscribe>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset="us-ascii"\r
+Content-Transfer-Encoding: 7bit\r
+Sender: gpxe-devel-bounces@etherboot.org\r
+Errors-To: gpxe-devel-bounces@etherboot.org\r
+X-Spam: [F=0.2573030374; B=0.500(0); CM=0.500; MH=0.500(2010030128); R=0.580(1102113526); S=0.200(2010022601); SC=none]\r
+X-MAIL-FROM: <gpxe-devel-bounces@etherboot.org>\r
+X-SOURCE-IP: [140.211.167.171]\r
+X-AnalysisOut: [v=1.0 c=1 a=0P5afutgQfoA:10 a=xR1HcFQh7M/g2HrvuBmjtA==:17 ]\r
+X-AnalysisOut: [a=RqVXL-LNAAAA:8 a=iLNU1ar6AAAA:8 a=pGLkceISAAAA:8 a=ZQMZI]\r
+X-AnalysisOut: [4RIAAAA:8 a=AuZ9eZ2SswYdc2fNWtAA:9 a=re_wC--vStNGNHZ52bYA:]\r
+X-AnalysisOut: [7 a=aNBrdc3xVhUQmJpx8CKas0b13rQA:4 a=DOYNd9a5gwgA:10 a=-Xw]\r
+X-AnalysisOut: [J49_kmwcA:10 a=MSl-tDqOz04A:10 a=ivdeCs68_u8A:10]\r
+\r
+Embedded image support uses .incbin in inline assembly to include binary\r
+files.  The file dependency is not spotted by ccache when deciding\r
+whether or not to rebuild embedded.o.  This results in builds that\r
+contain an outdated version of the embedded image when ccache is used.\r
+\r
+Reported-by: Tim 'Shaggy' Bielawa <tbielawa@jabber.org>\r
+Reported-by: Matt Domsch <Matt_Domsch@dell.com>\r
+Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>\r
+---\r
+ src/Makefile.housekeeping |    7 +++++++\r
+ 1 files changed, 7 insertions(+), 0 deletions(-)\r
+\r
+diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping\r
+index 1f5e115..8ba7e44 100644\r
+--- a/src/Makefile.housekeeping\r
++++ b/src/Makefile.housekeeping\r
+@@ -511,6 +511,13 @@ EMBED_ALL := $(foreach i,$(call seq,1,$(words $(EMBEDDED_FILES))),\\r
+                            \"$(notdir $(word $(i),$(EMBEDDED_FILES)))\" ))\r
\r
+ $(BIN)/embedded.o : $(EMBEDDED_FILES) $(EMBEDDED_LIST)\r
++\r
++# This file uses .incbin inline assembly to include a binary file.\r
++# Unfortunately ccache does not detect this dependency and caches builds even\r
++# when the binary file has changed.\r
++#\r
++$(BIN)/embedded.o : override CC := env CCACHE_DISABLE=1 $(CC)\r
++\r
+ CFLAGS_embedded = -DEMBED_ALL="$(EMBED_ALL)"\r
\r
+ # Generate the NIC file from the parsed source files.  The NIC file is\r
+-- \r
+1.6.6.1\r
+\r
+_______________________________________________\r
+gPXE-devel mailing list\r
+gPXE-devel@etherboot.org\r
+http://etherboot.org/mailman/listinfo/gpxe-devel\r
diff --git a/.dotest/applying b/.dotest/applying
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/.dotest/binary b/.dotest/binary
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/.dotest/final-commit b/.dotest/final-commit
new file mode 100644 (file)
index 0000000..830b07d
--- /dev/null
@@ -0,0 +1,11 @@
+[build] Disable ccache for embedded.o
+
+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@jabber.org>
+Reported-by: Matt Domsch <Matt_Domsch@dell.com>
+Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
+Signed-off-by: Marty Connor <mdc@etherboot.org>
diff --git a/.dotest/final-commit~ b/.dotest/final-commit~
new file mode 100644 (file)
index 0000000..80aa271
--- /dev/null
@@ -0,0 +1,11 @@
+Disable ccache for embedded.o
+
+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@jabber.org>
+Reported-by: Matt Domsch <Matt_Domsch@dell.com>
+Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
+Signed-off-by: Marty Connor <mdc@etherboot.org>
diff --git a/.dotest/info b/.dotest/info
new file mode 100644 (file)
index 0000000..d150cd0
--- /dev/null
@@ -0,0 +1,5 @@
+Author: Stefan Hajnoczi
+Email: stefanha@gmail.com
+Subject: Disable ccache for embedded.o
+Date: Mon, 1 Mar 2010 20:34:47 +0000
+
diff --git a/.dotest/keep b/.dotest/keep
new file mode 100644 (file)
index 0000000..8b13789
--- /dev/null
@@ -0,0 +1 @@
+
diff --git a/.dotest/last b/.dotest/last
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/.dotest/msg b/.dotest/msg
new file mode 100644 (file)
index 0000000..7a45646
--- /dev/null
@@ -0,0 +1,8 @@
+Embedded image support uses .incbin in inline assembly to include binary\r
+files.  The file dependency is not spotted by ccache when deciding\r
+whether or not to rebuild embedded.o.  This results in builds that\r
+contain an outdated version of the embedded image when ccache is used.\r
+\r
+Reported-by: Tim 'Shaggy' Bielawa <tbielawa@jabber.org>\r
+Reported-by: Matt Domsch <Matt_Domsch@dell.com>\r
+Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>\r
diff --git a/.dotest/msg-clean b/.dotest/msg-clean
new file mode 100644 (file)
index 0000000..305c50f
--- /dev/null
@@ -0,0 +1,10 @@
+Disable ccache for embedded.o
+
+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@jabber.org>
+Reported-by: Matt Domsch <Matt_Domsch@dell.com>
+Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
diff --git a/.dotest/next b/.dotest/next
new file mode 100644 (file)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
diff --git a/.dotest/patch b/.dotest/patch
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/.dotest/sign b/.dotest/sign
new file mode 100644 (file)
index 0000000..718f4d2
--- /dev/null
@@ -0,0 +1 @@
+t
diff --git a/.dotest/utf8 b/.dotest/utf8
new file mode 100644 (file)
index 0000000..718f4d2
--- /dev/null
@@ -0,0 +1 @@
+t
diff --git a/.dotest/whitespace b/.dotest/whitespace
new file mode 100644 (file)
index 0000000..8d1c8b6
--- /dev/null
@@ -0,0 +1 @@