Messages in this thread Patch in this message | | | Date | Mon, 28 Apr 2008 19:24:16 +0100 | From | Al Viro <> | Subject | Re: [kvm-ia64-devel] [PATCH] ia64 kvm fixes for O=... builds |
| |
On Mon, Apr 28, 2008 at 03:14:02PM +0100, Al Viro wrote: > On Mon, Apr 28, 2008 at 09:46:44PM +0800, Zhang, Xiantao wrote: > > > 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. > > symlinks won't work as you use them. If you really need separately > compiled, use file with a couple of #include "../lib/......S" and > be done with that.
... like this, perhaps? I still wonder what will happen with either this or the original tree if you make CONFIG_KVM_INTEL=y, though - won't either variant give you duplicate symbols?
diff --git a/arch/ia64/kvm/Makefile b/arch/ia64/kvm/Makefile index 5235339..e7b9432 100644 --- a/arch/ia64/kvm/Makefile +++ b/arch/ia64/kvm/Makefile @@ -54,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 += ../lib/memset.o ../lib/memcpy.o +kvm-intel-objs += memset.o memcpy.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 index 0000000..c04cdbe --- /dev/null +++ b/arch/ia64/kvm/memcpy.S @@ -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 index 0000000..83c3066 --- /dev/null +++ b/arch/ia64/kvm/memset.S @@ -0,0 +1 @@ +#include "../lib/memset.S"
| |