On Tuesday 15 November 2005 15:54, Antoine Martin wrote: > It asked me what CPU I wanted to build for?! (make oldconfig) > It breaks if I select K7, but not if I select PPro (default).
Fully correct note... I didn't test every possible selection, and there are a few missing stub headers (i.e. containing #include "asm/arch/WHATEVER"). Patch attached but untested. We must also build: arch/i386/lib/mmx.c but I expect errors from it. > make ARCH=um vmlinux > SYMLINK include/asm-um/elf.h > CHK arch/um/include/uml-config.h > UPD arch/um/include/uml-config.h > gcc -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs > -fno-strict-aliasing -fno-common -ffreestanding -O2 > -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -D__arch_um__ > -DSUBARCH=\"i386\" -Dvmap=kernel_vmap > -Din6addr_loopback=kernel_in6addr_loopback -Iarch/um/include > -I/usr/src/linux-2.6.15-rc1-bk3-uml/arch/um/kernel/tt/include > -I/usr/src/linux-2.6.15-rc1-bk3-uml/arch/um/kernel/skas/include > -D_FILE_OFFSET_BITS=64 -march=athlon -mpreferred-stack-boundary=2 > -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -S -o arch/um/user-offsets.s > arch/um/sys-i386/user-offsets.c > CHK arch/um/include/user_constants.h > UPD arch/um/include/user_constants.h > CHK include/linux/version.h > UPD include/linux/version.h > SYMLINK include/asm -> include/asm-um > SPLIT include/linux/autoconf.h -> include/config/* > gcc -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs > -fno-strict-aliasing -fno-common -ffreestanding -O2 > -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -D__arch_um__ > -DSUBARCH=\"i386\" -Iarch/um/include > -I/usr/src/linux-2.6.15-rc1-bk3-uml/arch/um/kernel/tt/include > -I/usr/src/linux-2.6.15-rc1-bk3-uml/arch/um/kernel/skas/include > -Dvmap=kernel_vmap -Din6addr_loopback=kernel_in6addr_loopback > -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask > -fno-unit-at-a-time -U__i386__ -Ui386 -march=athlon > -mpreferred-stack-boundary=2 -D_LARGEFILE64_SOURCE > -Wdeclaration-after-statement -Wno-pointer-sign -nostdinc > -isystem /usr/lib/gcc/i386-redhat-linux/4.0.1/include -D__KERNEL__ > -Iinclude -include include/linux/autoconf.h -S -o > arch/um/kernel-offsets.s arch/um/sys-i386/kernel-offsets.c > In file included from include/asm/string.h:4, > from include/linux/string.h:24, > from include/linux/bitmap.h:8, > from include/linux/cpumask.h:86, > from include/linux/sched.h:15, > from arch/um/sys-i386/kernel-offsets.c:3: > include/asm/arch/string.h:288:21: error: asm/mmx.h: No such file or > directory > In file included from include/asm/string.h:4, > from include/linux/string.h:24, > from include/linux/bitmap.h:8, > from include/linux/cpumask.h:86, > from include/linux/sched.h:15, > from arch/um/sys-i386/kernel-offsets.c:3: > include/asm/arch/string.h: In function ‘__constant_memcpy3d’: > include/asm/arch/string.h:298: warning: implicit declaration of function > ‘_mmx_memcpy’ > include/asm/arch/string.h:298: warning: return makes pointer from > integer without a cast > include/asm/arch/string.h: In function ‘__memcpy3d’: > include/asm/arch/string.h:305: warning: return makes pointer from > integer without a cast > make: *** [arch/um/kernel-offsets.s] Error 1 > > Antoine -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade
Index: linux-2.6.git/arch/um/sys-i386/Makefile =================================================================== --- linux-2.6.git.orig/arch/um/sys-i386/Makefile +++ linux-2.6.git/arch/um/sys-i386/Makefile @@ -5,9 +5,13 @@ obj-y = bitops.o bugs.o checksum.o delay obj-$(CONFIG_HIGHMEM) += highmem.o obj-$(CONFIG_MODULES) += module.o +# XXX: Should be lib? Supported here? For bitops.o we currently don't care. +#lib-$(CONFIG_X86_USE_3DNOW) += mmx.o +obj-$(CONFIG_X86_USE_3DNOW) += mmx.o + USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o -SYMLINKS = bitops.c semaphore.c highmem.c module.c +SYMLINKS = bitops.c semaphore.c highmem.c module.c mmx.c include arch/um/scripts/Makefile.rules @@ -15,6 +19,7 @@ bitops.c-dir = lib semaphore.c-dir = kernel highmem.c-dir = mm module.c-dir = kernel +mmx.c-dir = lib $(obj)/stub_segv.o : _c_flags = $(call unprofile,$(CFLAGS)) Index: linux-2.6.git/include/asm-um/mmx.h =================================================================== --- /dev/null +++ linux-2.6.git/include/asm-um/mmx.h @@ -0,0 +1,6 @@ +#ifndef __UM_MMX_H +#define __UM_MMX_H + +#include "asm/arch/mmx.h" + +#endif