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>
This commit is contained in:
Xiantao Zhang 2008-05-07 17:34:52 +08:00 коммит произвёл Avi Kivity
Родитель 021f4b6cc9
Коммит 25c437b01f
3 изменённых файлов: 3 добавлений и 2 удалений

Просмотреть файл

@ -7,7 +7,6 @@ offsets-file := asm-offsets.h
always := $(offsets-file) always := $(offsets-file)
targets := $(offsets-file) targets := $(offsets-file)
targets += arch/ia64/kvm/asm-offsets.s 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 # Default sed regexp - multiline due to syntax constraints
define sed-y 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 \ kvm-intel-objs = vmm.o vmm_ivt.o trampoline.o vcpu.o optvfault.o mmio.o \
vtlb.o process.o vtlb.o process.o
#Add link memcpy and memset to avoid possible structure assignment error #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 obj-$(CONFIG_KVM_INTEL) += kvm-intel.o

1
arch/ia64/kvm/memcpy.S Normal file
Просмотреть файл

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

1
arch/ia64/kvm/memset.S Normal file
Просмотреть файл

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