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

Reply via email to