Hi All,
Thanks for the patch Yoshi. I got me past my initial error and onto a
new one (see below).
On 8/3/07, Yoshiaki Tamura <tamura.yoshiaki@xxxxxxxxxxxxx> wrote:
> Hi,
>
> I got the same error when I built changeset 152 of linux-2.6.18-xen.hg on
> debian
> etch i386 machine. This problem occurred after changeset 130 and 131.
> The following patch reverts changeset 130 and changeset 131 manually.
> I hope this is useful for someone.
>
> Thanks,
>
> Yoshi Tamura
>
> ---
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/Makefile
> --- a/arch/i386/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -116,6 +116,7 @@ PHONY += zImage bzImage compressed zlilo
>
> ifdef CONFIG_XEN
> CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
> +head-y := arch/i386/kernel/head-xen.o arch/i386/kernel/init_task-xen.o
> boot := arch/i386/boot-xen
> .PHONY: vmlinuz
> all: vmlinuz
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/Makefile
> --- a/arch/i386/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -43,7 +43,12 @@ EXTRA_AFLAGS := -traditional
> EXTRA_AFLAGS := -traditional
>
> obj-$(CONFIG_SCx200) += scx200.o
> -obj-$(CONFIG_XEN) += fixup.o
> +
> +ifdef CONFIG_XEN
> +vsyscall_note := vsyscall-note-xen.o
> +else
> +vsyscall_note := vsyscall-note.o
> +endif
>
> # vsyscall.o contains the vsyscall DSO images as __initdata.
> # We must build both images before we can assemble it.
> @@ -66,7 +71,7 @@ SYSCFLAGS_vsyscall-int80.so = $(vsyscall
>
> $(obj)/vsyscall-int80.so $(obj)/vsyscall-sysenter.so: \
> $(obj)/vsyscall-%.so: $(src)/vsyscall.lds \
> - $(obj)/vsyscall-%.o $(obj)/vsyscall-note.o FORCE
> + $(obj)/vsyscall-%.o $(obj)/$(vsyscall_note) FORCE
> $(call if_changed,syscall)
>
> # We also create a special relocatable object that should mirror the symbol
> @@ -78,11 +83,20 @@ extra-y += vsyscall-syms.o
>
> SYSCFLAGS_vsyscall-syms.o = -r
> $(obj)/vsyscall-syms.o: $(src)/vsyscall.lds \
> - $(obj)/vsyscall-sysenter.o $(obj)/vsyscall-note.o
> FORCE
> + $(obj)/vsyscall-sysenter.o $(obj)/$(vsyscall_note)
> FORCE
> $(call if_changed,syscall)
>
> -early_printk-y += ../../x86_64/kernel/early_printk.o
> k8-y += ../../x86_64/kernel/k8.o
>
> -disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o
> -%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +
> +obj-y += fixup.o
> +microcode-$(subst m,y,$(CONFIG_MICROCODE)) := microcode-xen.o
> +n-obj-xen := i8259.o timers/ reboot.o smpboot.o trampoline.o
> +
> +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
> +obj-y := $(call cherrypickxen, $(obj-y))
> +extra-y := $(call cherrypickxen, $(extra-y))
> +%/head-xen.o %/head-xen.s: EXTRA_AFLAGS :=
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/acpi/Makefile
> --- a/arch/i386/kernel/acpi/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/kernel/acpi/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -6,3 +6,7 @@ obj-y += cstate.o processor.o
> obj-y += cstate.o processor.o
> endif
>
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +obj-y := $(call cherrypickxen, $(obj-y), $(src))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/cpu/Makefile
> --- a/arch/i386/kernel/cpu/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/kernel/cpu/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -18,3 +18,7 @@ obj-$(CONFIG_MTRR) += mtrr/
> obj-$(CONFIG_MTRR) += mtrr/
> obj-$(CONFIG_CPU_FREQ) += cpufreq/
>
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +obj-y := $(call cherrypickxen, $(obj-y), $(src))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/kernel/cpu/mtrr/Makefile
> --- a/arch/i386/kernel/cpu/mtrr/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/kernel/cpu/mtrr/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -3,4 +3,10 @@ obj-y += cyrix.o
> obj-y += cyrix.o
> obj-y += centaur.o
>
> -obj-$(CONFIG_XEN) := main.o if.o
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +n-obj-xen := generic.o state.o amd.o cyrix.o centaur.o
> +
> +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
> +obj-y := $(call cherrypickxen, $(obj-y))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/mm/Makefile
> --- a/arch/i386/mm/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/mm/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -8,4 +8,11 @@ obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpag
> obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
> obj-$(CONFIG_HIGHMEM) += highmem.o
> obj-$(CONFIG_BOOT_IOREMAP) += boot_ioremap.o
> -obj-$(CONFIG_XEN) += hypervisor.o
> +
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +
> +obj-y += hypervisor.o
> +
> +obj-y := $(call cherrypickxen, $(obj-y))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/i386/pci/Makefile
> --- a/arch/i386/pci/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/i386/pci/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -16,3 +16,8 @@ pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o
> pci-$(CONFIG_X86_NUMAQ) := numa.o irq.o
>
> obj-y += $(pci-y) common.o
> +
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +obj-y := $(call cherrypickxen, $(obj-y))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/Makefile
> --- a/arch/x86_64/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/x86_64/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -80,6 +80,7 @@ PHONY += bzImage bzlilo install archmrpr
>
> ifdef CONFIG_XEN
> CPPFLAGS := -Iinclude$(if $(KBUILD_SRC),2)/asm/mach-xen $(CPPFLAGS)
> +head-y := arch/x86_64/kernel/head-xen.o arch/x86_64/kernel/head64-xen.o
> arch/x86_64/kernel/init_task.o
> LDFLAGS_vmlinux := -e startup_64
> boot := arch/i386/boot-xen
> .PHONY: vmlinuz
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/ia32/Makefile
> --- a/arch/x86_64/ia32/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/x86_64/ia32/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -37,8 +37,15 @@ AFLAGS_vsyscall-syscall.o = -m32 -Wa,-32
>
> ifdef CONFIG_XEN
> AFLAGS_vsyscall-int80.o = -m32 -Wa,-32 -Iarch/i386/kernel
> -CFLAGS_syscall32.o += -DUSE_INT80
> -AFLAGS_syscall32_syscall.o += -DUSE_INT80
> +CFLAGS_syscall32-xen.o += -DUSE_INT80
> +AFLAGS_syscall32_syscall-xen.o += -DUSE_INT80
>
> -$(obj)/syscall32_syscall.o: $(obj)/vsyscall-int80.so
> +$(obj)/syscall32_syscall-xen.o: \
> + $(foreach F,int80 sysenter syscall,$(obj)/vsyscall-$F.so)
> +
> +targets := $(foreach F,int80 sysenter syscall,vsyscall-$F.o vsyscall-$F.so)
> +
> +include $(srctree)/scripts/Makefile.xen
> +
> +obj-y := $(call cherrypickxen, $(obj-y))
> endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/kernel/Makefile
> --- a/arch/x86_64/kernel/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/x86_64/kernel/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -57,8 +57,18 @@ msr-$(subst m,y,$(CONFIG_X86_MSR)) += .
> msr-$(subst m,y,$(CONFIG_X86_MSR)) += ../../i386/kernel/msr.o
> alternative-y += ../../i386/kernel/alternative.o
>
> -time-$(CONFIG_XEN) += ../../i386/kernel/time.o
> -pci-dma-$(CONFIG_XEN) += ../../i386/kernel/pci-dma.o
> +ifdef CONFIG_XEN
> +time-y += ../../i386/kernel/time-xen.o
> +pci-dma-y += ../../i386/kernel/pci-dma-xen.o
> +microcode-$(subst m,y,$(CONFIG_MICROCODE)) :=
> ../../i386/kernel/microcode-xen.o
> +quirks-y := ../../i386/kernel/quirks-xen.o
>
> -disabled-obj-$(CONFIG_XEN) := i8259.o reboot.o smpboot.o trampoline.o
> -%/head.o %/head.s: $(if $(CONFIG_XEN),EXTRA_AFLAGS,dummy) :=
> +n-obj-xen := i8259.o reboot.o i8237.o smpboot.o trampoline.o
> +
> +include $(srctree)/scripts/Makefile.xen
> +
> +obj-y := $(call filterxen, $(obj-y), $(n-obj-xen))
> +obj-y := $(call cherrypickxen, $(obj-y))
> +extra-y := $(call cherrypickxen, $(extra-y))
> +%/head-xen.o %/head-xen.s: EXTRA_AFLAGS :=
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/mm/Makefile
> --- a/arch/x86_64/mm/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/x86_64/mm/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -7,8 +7,15 @@ obj-$(CONFIG_NUMA) += numa.o
> obj-$(CONFIG_NUMA) += numa.o
> obj-$(CONFIG_K8_NUMA) += k8topology.o
> obj-$(CONFIG_ACPI_NUMA) += srat.o
> -obj-$(CONFIG_XEN) += hypervisor.o
>
> hugetlbpage-y = ../../i386/mm/hugetlbpage.o
> -ioremap-$(CONFIG_XEN) := ../../i386/mm/ioremap.o
> -hypervisor-y := ../../i386/mm/hypervisor.o
> +
> +ifdef CONFIG_XEN
> +include $(srctree)/scripts/Makefile.xen
> +
> +ioremap-y += ../../i386/mm/ioremap-xen.o
> +hypervisor-y += ../../i386/mm/hypervisor.o
> +obj-y += hypervisor.o
> +
> +obj-y := $(call cherrypickxen, $(obj-y))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 arch/x86_64/pci/Makefile
> --- a/arch/x86_64/pci/Makefile Fri Jul 13 13:35:06 2007 +0100
> +++ b/arch/x86_64/pci/Makefile Thu Jul 12 16:05:09 2007 +0100
> @@ -28,3 +28,10 @@ fixup-y += ../../i386/pci/fixup.o
> fixup-y += ../../i386/pci/fixup.o
> i386-y += ../../i386/pci/i386.o
> init-y += ../../i386/pci/init.o
> +
> +ifdef CONFIG_XEN
> +irq-y := ../../i386/pci/irq-xen.o
> +include $(srctree)/scripts/Makefile.xen
> +
> +obj-y := $(call cherrypickxen, $(obj-y))
> +endif
> diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.build
> --- a/scripts/Makefile.build Fri Jul 13 13:35:06 2007 +0100
> +++ b/scripts/Makefile.build Thu Jul 12 16:05:09 2007 +0100
> @@ -66,18 +66,6 @@ endif
>
> ifndef obj
> $(warning kbuild: Makefile.build is included improperly)
> -endif
> -
> -ifeq ($(CONFIG_XEN),y)
> -$(objtree)/scripts/Makefile.xen: $(srctree)/scripts/Makefile.xen.awk
> $(srctree)/scripts/Makefile.build
> - @echo ' Updating $@'
> - @$(AWK) -f $< $(filter-out $<,$^) >$@
> -
> -xen-src-single-used-m := $(patsubst $(srctree)/%,%,$(wildcard $(addprefix
> $(srctree)/,$(single-used-m:.o=-xen.c))))
> -xen-single-used-m := $(xen-src-single-used-m:-xen.c=.o)
> -single-used-m := $(filter-out $(xen-single-used-m),$(single-used-m))
> -
> --include $(objtree)/scripts/Makefile.xen
> endif
>
> #
> ===========================================================================
> diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.lib
> --- a/scripts/Makefile.lib Fri Jul 13 13:35:06 2007 +0100
> +++ b/scripts/Makefile.lib Thu Jul 12 16:05:09 2007 +0100
> @@ -12,12 +12,6 @@ obj-m := $(filter-out $(obj-y),$(obj-m))
> # Filter out objects already built-in
>
> lib-y := $(filter-out $(obj-y), $(sort $(lib-y) $(lib-m)))
> -
> -# Remove objects forcibly disabled
> -
> -obj-y := $(filter-out $(disabled-obj-y),$(obj-y))
> -obj-m := $(filter-out $(disabled-obj-y),$(obj-m))
> -lib-y := $(filter-out $(disabled-obj-y),$(lib-y))
>
>
> # Handle objects in subdirs
> diff -r 50477b1b3016 -r 670f8d5305d2 scripts/Makefile.xen.awk
> --- a/scripts/Makefile.xen.awk Fri Jul 13 13:35:06 2007 +0100
> +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
> @@ -1,34 +0,0 @@
> -BEGIN {
> - is_rule = 0
> -}
> -
> -/^[[:space:]]*#/ {
> - next
> -}
> -
> -/^[[:space:]]*$/ {
> - if (is_rule)
> - print("")
> - is_rule = 0
> - next
> -}
> -
> -/:[[:space:]]*%\.[cS][[:space:]]/ {
> - line = gensub(/%.([cS])/, "%-xen.\\1", "g", $0)
> - line = gensub(/(single-used-m)/, "xen-\\1", "g", line)
> - print line
> - is_rule = 1
> - next
> -}
> -
> -/^[^\t]$/ {
> - if (is_rule)
> - print("")
> - is_rule = 0
> - next
> -}
> -
> -is_rule {
> - print $0
> - next
> -}
>
I just pulled the latest xen and linux unstable and applied the patch
above manually, since some of the line numbers had changed. It got rid
of the previous error I was having and it compiled the kernel for
awhile longer, but it came to a new error:
CC net/compat.o
CC net/sysctl_net.o
LD net/built-in.o
CC lib/sort.o
CC lib/parser.o
CC lib/halfmd4.o
CC lib/iomap_copy.o
CC lib/debug_locks.o
CC lib/kernel_lock.o
CC lib/plist.o
HOSTCC lib/gen_crc32table
GEN lib/crc32table.h
CC lib/crc32.o
CC lib/iomap.o
LD lib/reed_solomon/built-in.o
LD lib/zlib_deflate/built-in.o
CC lib/zlib_inflate/inffast.o
CC lib/zlib_inflate/inflate.o
CC lib/zlib_inflate/inftrees.o
CC lib/zlib_inflate/inflate_syms.o
LD lib/zlib_inflate/zlib_inflate.o
LD lib/zlib_inflate/built-in.o
CC lib/textsearch.o
CC lib/percpu_counter.o
CC lib/swiotlb.o
/home/deshantm/devel/linux-2.6.18-xen.hg/lib/swiotlb.c:270: error:
redefinition of 'address_needs_mapping'
/home/deshantm/devel/linux-2.6.18-xen.hg/include/asm-i386/mach-xen/asm/dma-mapping.h:17:
error: previous definition of 'address_needs_mapping' was here
make[6]: *** [lib/swiotlb.o] Error 1
make[5]: *** [lib] Error 2
make[4]: *** [vmlinuz] Error 2
make[3]: *** [vmlinuz] Error 2
make[3]: Leaving directory
`/home/deshantm/devel/xen-unstable.hg/build-linux-2.6.18-xen_x86_64'
make[2]: *** [build] Error 2
make[2]: Leaving directory `/home/deshantm/devel/xen-unstable.hg'
make[1]: *** [linux-2.6-xen-install] Error 2
make[1]: Leaving directory `/home/deshantm/devel/xen-unstable.hg'
I will make mrproper (again) re-build and turn on the V=1 etc. again.
And try again, but I don't understand why I can't pull xen unstable
directly and have it work... Does anybody do that ever to test that
it works? If so, what could I possible be doing wrong?
Thanks for any thoughts or ideas
I really hope to contribute some code this year and be an active
contributor. I just need to get over the initial big learning curve as
to even simply building xen unstable, so as to be able to create
relevant patches.
Best regards,
Todd
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|