Thread (22 messages) 22 messages, 6 authors, 2011-08-18

Re: [PATCH] ARM: zImage: Skip relinking if nothing changes

From: Arnaud Lacombe <hidden>
Date: 2011-08-18 22:38:33
Also in: linux-arm-kernel, lkml

Hi,

On Thu, Aug 18, 2011 at 6:25 PM, Troy Kisky
[off-list ref] wrote:
On 8/18/2011 12:31 PM, Russell King - ARM Linux wrote:
quoted
On Thu, Aug 18, 2011 at 02:03:43PM -0400, Arnaud Lacombe wrote:
quoted
Hi,

On Wed, Aug 17, 2011 at 11:44 PM, Nicolas Pitre[off-list ref]  wrote:
quoted
On Fri, 12 Aug 2011, Arnaud Lacombe wrote:
quoted
On Fri, Aug 12, 2011 at 4:48 PM, Arnaud Lacombe[off-list ref]
 wrote:
quoted
On Fri, Aug 12, 2011 at 3:00 PM, Stephen Boyd[off-list ref]
 wrote:
quoted
diff --git a/arch/arm/boot/compressed/Makefile
b/arch/arm/boot/compressed/Makefile
index 0c74a6f..937fd26 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -91,7 +91,7 @@ suffix_$(CONFIG_KERNEL_LZMA) = lzma
 targets       := vmlinux vmlinux.lds \
                piggy.$(suffix_y) piggy.$(suffix_y).o \
-                font.o font.c head.o misc.o $(OBJS)
+                font.o font.c head.o misc.o lib1funcs.o lib1funcs.S
$(OBJS)

 # Make sure files are removed during clean
 extra-y       += piggy.gzip piggy.lzo piggy.lzma lib1funcs.S
@@ -121,9 +121,7 @@ LDFLAGS_vmlinux += -X
 LDFLAGS_vmlinux += -T

 # For __aeabi_uidivmod
-lib1funcs = $(obj)/lib1funcs.o
-
-$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S FORCE
+$(obj)/lib1funcs.S: $(srctree)/arch/$(SRCARCH)/lib/lib1funcs.S
       $(call cmd,shipped)
You should be able to avoid the extra copy altogether by doing
something ala:

$(obj)/lib1funcs.o: $(srctree)/arch/arm/lib/lib1funcs.S
       $(call cmd,as_o_S)

note that I also remove the $(SRCARCH), as there is no other
`arch/*/lib/lib1funcs.S' than `arch/arm/lib/lib1funcs.S'
I withdraw this proposal and will hack around this to find a proper
solution from within kbuild, and eventually come back on these uses
:-)
Any progress on this?

I have a patch doing multiple similar $(call cmd,shipped) at the moment
and this is far from looking nice.
What is your use-case ? Is it re-use of code in a different
subdirectory (use-case presented in this thread), or aliasing of the
same source under different object name in the same directory (as used
in the alpha tree) ?
It is to be able to reuse the same file source file in both the main
kernel and the decompressor, sometimes rebuilding it with differing
options from the main kernel build.

As the two environments are entirely separate, it is not always
appropriate to clone the previously built object file.

Hence, we copy the source file and re-build it.

The alternative is that we could keep two copies of the same source
in two different locations, but that's just plain idiotic just to
satisfy some silly kbuild restriction.
Can the second file just contain a "#include " of the 1st?
<personal opinion>
Sorry, but it'd taste awfully disgusting, and broken.
<personal opinion/>

 - Arnaud
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help