KVM: ia64: fix GVMM module including position-dependent objects
authorXiantao Zhang <xiantao.zhang@intel.com>
Wed, 7 May 2008 09:34:52 +0000 (17:34 +0800)
committerAvi Kivity <avi@qumranet.com>
Sun, 18 May 2008 11:34:16 +0000 (14:34 +0300)
The GVMM module is position independent since it is relocated to the guest
address space.

Commit ea696f9cf ("ia64 kvm fixes for O=... builds") broke this by linking
GVMM with non-PIC objects.

Fix by creating two files: memset.S and memcpy.S which just include the files
under arch/ia64/lib/{memset.S, memcpy.S} respectively.

[akpm: don't delete files which we need]

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Avi Kivity <avi@qumranet.com>
arch/ia64/kvm/Makefile
arch/ia64/kvm/memcpy.S [new file with mode: 0644]
arch/ia64/kvm/memset.S [new file with mode: 0644]

index 52353397a1a4b94d36f167680ffffa7822ca326c..112791dd2542b19145155d4285669012fabe94ff 100644 (file)
@@ -7,7 +7,6 @@ offsets-file := asm-offsets.h
 always  := $(offsets-file)
 targets := $(offsets-file)
 targets += arch/ia64/kvm/asm-offsets.s
-clean-files := $(addprefix $(objtree)/,$(targets) $(obj)/memcpy.S $(obj)/memset.S)
 
 # Default sed regexp - multiline due to syntax constraints
 define sed-y
@@ -54,5 +53,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 += ../lib/memset.o ../lib/memcpy.o
+kvm-intel-objs += memcpy.o memset.o
 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
diff --git a/arch/ia64/kvm/memcpy.S b/arch/ia64/kvm/memcpy.S
new file mode 100644 (file)
index 0000000..c04cdbe
--- /dev/null
@@ -0,0 +1 @@
+#include "../lib/memcpy.S"
diff --git a/arch/ia64/kvm/memset.S b/arch/ia64/kvm/memset.S
new file mode 100644 (file)
index 0000000..83c3066
--- /dev/null
@@ -0,0 +1 @@
+#include "../lib/memset.S"