X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fx86_64%2Fia32%2FMakefile;h=6f359010419738157f4bf5b2cc1359aace4ef461;hb=97bf2856c6014879bd04983a3e9dfcdac1e7fe85;hp=e9263b4975e0c4fec437c134ae45bebac2d501af;hpb=76828883507a47dae78837ab5dec5a5b4513c667;p=linux-2.6.git diff --git a/arch/x86_64/ia32/Makefile b/arch/x86_64/ia32/Makefile index e9263b497..6f3590104 100644 --- a/arch/x86_64/ia32/Makefile +++ b/arch/x86_64/ia32/Makefile @@ -11,21 +11,44 @@ obj-$(CONFIG_IA32_EMULATION) += $(sysv-y) obj-$(CONFIG_IA32_AOUT) += ia32_aout.o +audit-class-$(CONFIG_AUDIT) := audit.o +obj-$(CONFIG_IA32_EMULATION) += $(audit-class-y) + +ifdef CONFIG_XEN +$(obj)/syscall32_syscall.o: \ + $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so) + +targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so) + +else $(obj)/syscall32_syscall.o: \ $(foreach F,sysenter syscall,$(obj)/vsyscall-$F.so) # Teach kbuild about targets targets := $(foreach F,sysenter syscall,vsyscall-$F.o vsyscall-$F.so) +endif # The DSO images are built using a special linker script quiet_cmd_syscall = SYSCALL $@ cmd_syscall = $(CC) -m32 -nostdlib -shared -s \ + $(call ld-option, -Wl$(comma)--hash-style=sysv) \ -Wl,-soname=linux-gate.so.1 -o $@ \ -Wl,-T,$(filter-out FORCE,$^) +$(obj)/vsyscall-int80.so \ $(obj)/vsyscall-sysenter.so $(obj)/vsyscall-syscall.so: \ $(obj)/vsyscall-%.so: $(src)/vsyscall.lds $(obj)/vsyscall-%.o FORCE $(call if_changed,syscall) -AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32 -AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 +AFLAGS_vsyscall-sysenter.o = -m32 -Wa,-32 -Iarch/i386/kernel +AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32 -Iarch/i386/kernel + +ifdef CONFIG_XEN +AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel +CFLAGS_syscall32.o += -DUSE_INT80 +AFLAGS_syscall32_syscall.o += -DUSE_INT80 + +include $(srctree)/scripts/Makefile.xen + +obj-y := $(call cherrypickxen, $(obj-y)) +endif