# HG changeset patch # User Tim Deegan # Date 1299497650 0 # Node ID 04aa04a5cfef5906fc988db4baf3255259fc4646 # Parent 9da74925d21627d886dc4d97028149f81bbc50b2 LLVM's linker currently can't handle two C files with the same name. http://llvm.org/bugs/show_bug.cgi?id=8759 Work around that by renaming a lot of files (using symlinks). This patch is definitely not to be considered for checking in to xen-unstable; it's just a hack to work around LLVM until it's fixed. diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/Makefile --- a/xen/arch/x86/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -12,12 +12,12 @@ obj-y += apic.o obj-y += bitops.o obj-bin-y += clear_page.o obj-bin-y += copy_page.o -obj-y += compat.o +obj-y += arch.compat.o obj-y += debug.o obj-y += delay.o obj-y += dmi_scan.o -obj-y += domctl.o -obj-y += domain.o +obj-y += arch.domctl.o +obj-y += arch.domain.o obj-y += domain_build.o obj-y += e820.o obj-y += extable.o @@ -28,30 +28,30 @@ obj-y += i8259.o obj-y += io_apic.o obj-y += msi.o obj-y += ioport_emulate.o -obj-y += irq.o +obj-y += arch.irq.o obj-y += microcode.o obj-y += microcode_amd.o obj-y += microcode_intel.o obj-y += mm.o obj-y += mpparse.o obj-y += nmi.o -obj-y += numa.o -obj-y += pci.o +obj-y += arch.numa.o +obj-y += arch.pci.o obj-y += percpu.o -obj-y += physdev.o +obj-y += arch.physdev.o obj-y += setup.o -obj-y += shutdown.o +obj-y += arch.shutdown.o obj-y += smp.o obj-y += smpboot.o obj-y += srat.o -obj-y += string.o -obj-y += sysctl.o -obj-y += time.o -obj-y += trace.o -obj-y += traps.o +obj-y += arch.string.o +obj-y += arch.sysctl.o +obj-y += arch.time.o +obj-y += arch.trace.o +obj-y += arch.traps.o obj-y += usercopy.o obj-y += x86_emulate.o -obj-y += machine_kexec.o +obj-y += arch.machine_kexec.o obj-y += crash.o obj-y += tboot.o obj-y += hpet.o @@ -106,6 +106,13 @@ xen.lds: xen.lds.S boot/mkelf32: boot/mkelf32.c $(HOSTCC) $(HOSTCFLAGS) -o $@ $< + +arch.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) arch.*.c + .PHONY: clean clean:: rm -f asm-offsets.s xen.lds boot/*.o boot/*~ boot/core boot/mkelf32 diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/acpi/cpufreq/Makefile --- a/xen/arch/x86/acpi/cpufreq/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/acpi/cpufreq/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,2 +1,9 @@ -obj-y += cpufreq.o +obj-y += a.cpufreq.o obj-y += powernow.o + + +a.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) a.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/cpu/Makefile --- a/xen/arch/x86/cpu/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/cpu/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -2,10 +2,17 @@ subdir-y += mcheck subdir-y += mtrr obj-y += amd.o -obj-y += common.o +obj-y += cpu.common.o obj-y += intel.o obj-y += intel_cacheinfo.o obj-$(x86_32) += centaur.o obj-$(x86_32) += cyrix.o obj-$(x86_32) += transmeta.o + + +cpu.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) cpu.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/hvm/Makefile --- a/xen/arch/x86/hvm/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/hvm/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -3,17 +3,17 @@ subdir-y += vmx obj-y += asid.o obj-y += emulate.o -obj-y += hpet.o +obj-y += hvm.hpet.o obj-y += hvm.o obj-y += i8254.o obj-y += intercept.o obj-y += io.o -obj-y += irq.o +obj-y += hvm.irq.o obj-y += mtrr.o obj-y += pmtimer.o obj-y += quirks.o obj-y += rtc.o -obj-y += save.o +obj-y += hvm.save.o obj-y += stdvga.o obj-y += vioapic.o obj-y += viridian.o @@ -21,4 +21,11 @@ obj-y += vlapic.o obj-y += vmsi.o obj-y += vpic.o obj-y += vpt.o -obj-y += vpmu.o \ No newline at end of file +obj-y += vpmu.o + + +hvm.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) hvm.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/hvm/svm/Makefile --- a/xen/arch/x86/hvm/svm/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/hvm/svm/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,7 +1,13 @@ -obj-y += asid.o -obj-y += emulate.o +obj-y += svm.asid.o +obj-y += svm.emulate.o obj-bin-y += entry.o -obj-y += intr.o +obj-y += svm.intr.o obj-y += svm.o obj-y += vmcb.o -obj-y += vpmu.o +obj-y += svm.vpmu.o + +svm.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) svm.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/hvm/vmx/Makefile --- a/xen/arch/x86/hvm/vmx/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/hvm/vmx/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -4,3 +4,9 @@ obj-y += realmode.o obj-y += vmcs.o obj-y += vmx.o obj-y += vpmu_core2.o + +intr_vmx.c: intr.c + ln -sf $< $@ + +clean:: + $(RM) intr_vmx.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/mm/Makefile --- a/xen/arch/x86/mm/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/mm/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -11,5 +11,11 @@ obj-$(x86_64) += mem_paging.o obj-$(x86_64) += mem_sharing.o obj-$(x86_64) += mem_access.o -guest_walk_%.o: guest_walk.c Makefile +guest_walk_%.o: guest_walk_%.c $(CC) $(CFLAGS) -DGUEST_PAGING_LEVELS=$* -c $< -o $@ + +guest_walk_%.c: guest_walk.c Makefile + ln -sf $< $@ + +clean:: + $(RM) guest_walk_*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/mm/hap/Makefile --- a/xen/arch/x86/mm/hap/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/mm/hap/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -7,5 +7,11 @@ obj-y += p2m-ept.o guest_levels = $(subst level,,$(filter %level,$(subst ., ,$(subst _, ,$(1))))) guest_walk_defns = -DGUEST_PAGING_LEVELS=$(call guest_levels,$(1)) -guest_walk_%level.o: guest_walk.c Makefile +guest_walk_%level.o: guest_walk_%level.c $(CC) $(CFLAGS) $(call guest_walk_defns,$(@F)) -c $< -o $@ + +guest_walk_%level.c: guest_walk.c Makefile + ln -sf $< $@ + +clean:: + $(RM) guest_walk_*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/mm/shadow/Makefile --- a/xen/arch/x86/mm/shadow/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/mm/shadow/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,5 +1,11 @@ obj-$(x86_32) += common.o guest_2.o guest_3.o obj-$(x86_64) += common.o guest_2.o guest_3.o guest_4.o -guest_%.o: multi.c Makefile +guest_%.o: guest_%.c $(CC) $(CFLAGS) -DGUEST_PAGING_LEVELS=$* -c $< -o $@ + +guest_%.c: multi.c Makefile + ln -sf $< $@ + +clean:: + $(RM) guest_*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/oprofile/Makefile --- a/xen/arch/x86/oprofile/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/oprofile/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,6 +1,12 @@ -obj-y += xenoprof.o +obj-y += x64.xenoprof.o obj-y += nmi_int.o obj-y += op_model_p4.o obj-y += op_model_ppro.o obj-y += op_model_athlon.o obj-y += backtrace.o + +x64.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) x64.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/arch/x86/x86_64/Makefile --- a/xen/arch/x86/x86_64/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/arch/x86/x86_64/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -2,20 +2,26 @@ subdir-y += compat obj-bin-y += entry.o obj-bin-y += gpr_switch.o -obj-y += mm.o -obj-y += traps.o -obj-y += machine_kexec.o -obj-y += pci.o +obj-y += x64.mm.o +obj-y += x64.traps.o +obj-y += x64.machine_kexec.o +obj-y += x64.pci.o obj-y += acpi_mmcfg.o obj-y += mmconf-fam10h.o obj-y += mmconfig_64.o obj-y += mmconfig-shared.o -obj-y += compat.o +obj-y += x64.compat.o obj-bin-y += compat_kexec.o -obj-y += domain.o -obj-y += physdev.o -obj-y += platform_hypercall.o -obj-y += cpu_idle.o -obj-y += cpufreq.o +obj-y += x64.domain.o +obj-y += x64.physdev.o +obj-y += x64.platform_hypercall.o +obj-y += x64.cpu_idle.o +obj-y += x64.cpufreq.o obj-$(crash_debug) += gdbstub.o + +x64.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) x64.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/common/compat/Makefile --- a/xen/common/compat/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/common/compat/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,6 +1,12 @@ -obj-y += domain.o -obj-y += kernel.o -obj-y += memory.o -obj-y += multicall.o +obj-y += c.domain.o +obj-y += c.kernel.o +obj-y += c.memory.o +obj-y += c.multicall.o obj-y += xlat.o -obj-y += tmem_xen.o +obj-y += c.tmem_xen.o + +c.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) c.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/drivers/passthrough/Makefile --- a/xen/drivers/passthrough/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/drivers/passthrough/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -2,6 +2,12 @@ subdir-$(x86) += vtd subdir-$(ia64) += vtd subdir-$(x86) += amd -obj-y += iommu.o -obj-y += io.o -obj-y += pci.o +obj-y += pass.iommu.o +obj-y += pass.io.o +obj-y += pass.pci.o + +pass.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) pass.*.c diff -r 9da74925d216 -r 04aa04a5cfef xen/drivers/passthrough/vtd/Makefile --- a/xen/drivers/passthrough/vtd/Makefile Mon Mar 07 11:34:09 2011 +0000 +++ b/xen/drivers/passthrough/vtd/Makefile Mon Mar 07 11:34:10 2011 +0000 @@ -1,9 +1,16 @@ subdir-$(x86) += x86 subdir-$(ia64) += ia64 -obj-y += iommu.o +obj-y += vtd.iommu.o obj-y += dmar.o -obj-y += utils.o +obj-y += vtd.utils.o obj-y += qinval.o obj-y += intremap.o -obj-y += quirks.o +obj-y += vtd.quirks.o + +vtd.%.c: %.c + ln -sf $< $@ + +clean:: + $(RM) vtd.*.c +