RE: [kvm-ia64-devel] [PATCH] ia64 kvm fixes for O=... builds

From: Zhang, Xiantao
Date: Mon Apr 28 2008 - 09:46:59 EST


Al Viro wrote:
> * EXTRA_CFLAGS do not apply for *.S
> * don't bother with symlinks to ../lib/mem*.S, just add ../lib/mem*.o
> to object list
>
> Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> ---
> arch/ia64/kvm/Makefile | 7 ++-----
> 1 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile
> index 41b034f..5235339 100644
> --- a/arch/ia64/kvm/Makefile
> +++ b/arch/ia64/kvm/Makefile
> @@ -42,10 +42,7 @@ $(obj)/$(offsets-file): arch/ia64/kvm/asm-offsets.s
> #
>
> EXTRA_CFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
> -
> -$(addprefix $(objtree)/,$(obj)/memcpy.S $(obj)/memset.S):
> - $(shell ln -snf ../lib/memcpy.S $(src)/memcpy.S)
> - $(shell ln -snf ../lib/memset.S $(src)/memset.S)
> +EXTRA_AFLAGS += -Ivirt/kvm -Iarch/ia64/kvm/
>
> common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o ioapic.o)
>
> @@ -57,5 +54,5 @@ EXTRA_CFLAGS_vcpu.o += -mfixed-range=f2-f5,f12-f127
> kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o
> mmio.o \ vtlb.o process.o
> #Add link memcpy and memset to avoid possible structure assignment
> error -kvm-intel-objs += memset.o memcpy.o
> +kvm-intel-objs += ../lib/memset.o ../lib/memcpy.o
> obj-$(CONFIG_KVM_INTEL) += kvm-intel.o

I don't think it is workable for kvm-ia64. Currently, kvm-intel module
needs to be relocated at insertion time, so the code is
position-indenpent. Howerver, lib/*.memset.o(memcoy.o) are not compiled
as position independent code, they can't be linked into the module
correctly in your way. That is why we use symbol link instead of linking
the objects under /lib.

Xiantao
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/