Explorar o código

KVM: ia64: fix GVMM module including position-dependent objects

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>
Xiantao Zhang %!s(int64=17) %!d(string=hai) anos
pai
achega
25c437b01f
Modificáronse 3 ficheiros con 3 adicións e 2 borrados
  1. 1 2
      arch/ia64/kvm/Makefile
  2. 1 0
      arch/ia64/kvm/memcpy.S
  3. 1 0
      arch/ia64/kvm/memset.S

+ 1 - 2
arch/ia64/kvm/Makefile

@@ -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

+ 1 - 0
arch/ia64/kvm/memcpy.S

@@ -0,0 +1 @@
+#include "../lib/memcpy.S"

+ 1 - 0
arch/ia64/kvm/memset.S

@@ -0,0 +1 @@
+#include "../lib/memset.S"