[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [Xen-changelog] Fix Xen target image dependencies.



On Monday 20 March 2006 12:36, Xen patchbot -unstable wrote:
> # HG changeset patch
> # User kaf24@xxxxxxxxxxxxxxxxxxxx
> # Node ID 0d9855e12426ff764a7b58fba70438b6ef986388
> # Parent  a27f22868d68fbea055dfdd496d8c1dbc6be999c
> Fix Xen target image dependencies.
> 
> Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
> 
> diff -r a27f22868d68 -r 0d9855e12426 xen/Makefile
> --- a/xen/Makefile    Mon Mar 20 17:20:44 2006
> +++ b/xen/Makefile    Mon Mar 20 17:25:01 2006
> @@ -55,12 +55,14 @@
>       [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
>       $(MAKE) -C arch/$(TARGET_ARCH) asm-offsets.s
>       $(MAKE) include/asm-$(TARGET_ARCH)/asm-offsets.h
> +ifneq ($(TARGET_ARCH),x86)
>       $(MAKE) -C common
>       $(MAKE) -C drivers
>  ifeq ($(ACM_SECURITY),y)
>       $(MAKE) -C acm
>  endif
>       $(MAKE) -C arch/$(TARGET_ARCH)
> +endif
>       $(MAKE) -C arch/$(TARGET_ARCH) $(TARGET)
>  
>  # drivers/char/console.o contains static banner/compile info. Blow it away.
> diff -r a27f22868d68 -r 0d9855e12426 xen/arch/x86/Makefile
> --- a/xen/arch/x86/Makefile   Mon Mar 20 17:20:44 2006
> +++ b/xen/arch/x86/Makefile   Mon Mar 20 17:25:01 2006
> @@ -55,7 +55,7 @@
>       ./boot/mkelf32 $(TARGET)-syms $(TARGET) 0x100000 \
>       `$(NM) $(TARGET)-syms | sort | tail -n 1 | sed -e 's/^\([^ 
> ]*\).*/0x\1/'`
>  
> -$(TARGET)-syms: boot/$(TARGET_SUBARCH).o xen.lds
> +$(TARGET)-syms: boot/$(TARGET_SUBARCH).o $(ALL_OBJS) xen.lds
>       $(LD) $(LDFLAGS) -T xen.lds -N \
>           boot/$(TARGET_SUBARCH).o $(ALL_OBJS) -o $@
>       $(NM) -n $@ | $(BASEDIR)/tools/symbols >$(BASEDIR)/xen-syms.S

This one's looking a bit sketchy to me.

Of course the PPC Makefile has the same target with the ALL_OBJS dependencies, 
and Alex's patch for ia64 is the same. Since the built_in.o dependencies are 
forced into their respective directories, we build e.g. xen/common and then 
re-enter it while building xen/arch/$(TARGET_ARCH). In the changeset above, 
you just hacked around it for x86 (I assume because you were going to sleep 
and didn't want to leave the build in a funny state :) .

This patch works more generally.

-- 
Hollis Blanchard
IBM Linux Technology Center



Since we now have general rules to build ALL_OBJS, we don't need to manually 
build them. Compile-tested on x86 and PPC.

Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>

diff -r b9486f0d6970 xen/Makefile
--- a/xen/Makefile      Mon Mar 20 18:38:50 2006 +0100
+++ b/xen/Makefile      Mon Mar 20 19:58:17 2006 -0600
@@ -55,14 +55,6 @@ clean: delete-unfresh-files
        [ -e include/asm ] || ln -sf asm-$(TARGET_ARCH) include/asm
        $(MAKE) -C arch/$(TARGET_ARCH) asm-offsets.s
        $(MAKE) include/asm-$(TARGET_ARCH)/asm-offsets.h
-ifneq ($(TARGET_ARCH),x86)
-       $(MAKE) -C common
-       $(MAKE) -C drivers
-ifeq ($(ACM_SECURITY),y)
-       $(MAKE) -C acm
-endif
-       $(MAKE) -C arch/$(TARGET_ARCH)
-endif
        $(MAKE) -C arch/$(TARGET_ARCH) $(TARGET)

 # drivers/char/console.o contains static banner/compile info. Blow it away.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.