From: Carlo W. <ca...@al...> - 2003-06-06 10:25:46
|
On Fri, Jun 06, 2003 at 11:26:24AM +0200, Carlo Wood wrote: > I downloaded http://prdownloads.sourceforge.net/user-mode-linux/uml-patch-2.5.69-1.bz2 > Applied it to a clean linux-2.5.69.tar.bz2 (successfully according to the output > of patch) and ran > Ok, so again: make mrproper ARCH=um make xconfig ARCH=um make linux ARCH=um [...] gcc -E -Wp,-MD,arch/um/.uml.lds.s.d -D__ASSEMBLY__ -D__KERNEL__ -Iinclude -nostdinc -iwithprefix include -Ui386 -DSTART=$((0xc0000000 - ((0 + 1) * 0x20000000))) -DELF_ARCH=i386 -DELF_FORMAT=\"elf32-i386\" -DMODE_TT -DKERNEL_STACK_SIZE=16384 -P -C -Uum -P -C -Uum -o arch/um/uml.lds.s arch/um/uml.lds.S gcc -Wl,-T,arch/um/uml.lds.s -static -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc \ -o linux arch/um/main.o vmlinux -L/usr/lib -lutil vmlinux(.text+0x26866): In function `module_finalize': arch/um/sys-i386/module.c:122: undefined reference to `apply_alternatives' collect2: ld returned 1 exit status make: *** [linux] Error 1 /usr/src/kernel/uml/linux-2.5.69>find . -name '*.o' -print -exec nm {} \; | egrep '(^\./|apply_alternatives)' | grep -B1 apply_alternatives ./arch/um/sys-i386/built-in.o U apply_alternatives ./arch/um/sys-i386/module.o U apply_alternatives /usr/src/kernel/uml/linux-2.5.69>find . -name '*.c' -exec grep -Hn apply_alternatives {} \; ./arch/i386/kernel/setup.c:860:void apply_alternatives(void *start, void *end) ./arch/i386/kernel/setup.c:894: apply_alternatives(__alt_instructions, __alt_instructions_end); ./arch/i386/kernel/module.c:107:extern void apply_alternatives(void *start, void *end); ./arch/i386/kernel/module.c:122: apply_alternatives(seg, seg + s->sh_size); ./arch/um/sys-i386/module.c:107:extern void apply_alternatives(void *start, void *end); ./arch/um/sys-i386/module.c:122: apply_alternatives(seg, seg + s->sh_size); It seems that ./arch/i386/kernel/setup.c wasn't even compiled, which is logical I guess - since it is in ./arch/i386 and not in ./arch/um. Hm, I tried adding setup.c - but that gives me a lot of missing header files as well :/ arch/um/sys-i386/setup.c:39:22: asm/e820.h: No such file or directory arch/um/sys-i386/setup.c:40:24: asm/mpspec.h: No such file or directory arch/um/sys-i386/setup.c:41:21: asm/edd.h: No such file or directory arch/um/sys-i386/setup.c:42:23: asm/setup.h: No such file or directory arch/um/sys-i386/setup.c:43:28: asm/arch_hooks.h: No such file or directory arch/um/sys-i386/setup.c:44:28: setup_arch_pre.h: No such file or directory arch/um/sys-i386/setup.c:45:28: mach_resources.h: No such file or directory (and that was AFTER adding ./include/asm-um/acpi.h) So, in the end I applied the following diff: *** arch/um/sys-i386/Makefile.orig 2003-06-06 11:53:31.000000000 +0200 --- arch/um/sys-i386/Makefile 2003-06-06 12:20:38.000000000 +0200 *************** *** 2,8 **** ptrace_user.o semaphore.o sigcontext.o syscalls.o sysrq.o obj-$(CONFIG_HIGHMEM) += highmem.o ! obj-$(CONFIG_MODULES) += module.o USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) --- 2,8 ---- ptrace_user.o semaphore.o sigcontext.o syscalls.o sysrq.o obj-$(CONFIG_HIGHMEM) += highmem.o ! obj-$(CONFIG_MODULES) += module.o setup.o USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) *** /dev/null 2003-01-30 11:24:37.000000000 +0100 --- arch/um/sys-i386/setup.c 2003-06-06 12:20:24.000000000 +0200 *************** *** 0 **** --- 1,3 ---- + void apply_alternatives(void *start, void *end) + { + } -- Carlo Wood <ca...@al...> |
From: Carlo W. <ca...@al...> - 2003-06-06 11:14:03
|
Things still don't work - I have a similar error while compiling modules: make -f scripts/Makefile.build obj=drivers/mtd/devices gcc -Wp,-MD,drivers/mtd/devices/.blkmtd.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -U__i386__ -Ui386 -g -D__arch_um__ -DSUBARCH=\"i386\" -D_LARGEFILE64_SOURCE -Iarch/um/include -Derrno=kernel_errno -Dsigprocmask=kernel_sigprocmask -I/usr/src/kernel/uml/linux-2.5.69/arch/um/kernel/tt/include -I/usr/src/kernel/uml/linux-2.5.69/arch/um/kernel/skas/include -nostdinc -iwithprefix include -DMODULE -DKBUILD_BASENAME=blkmtd -DKBUILD_MODNAME=blkmtd -c -o drivers/mtd/devices/blkmtd.o drivers/mtd/devices/blkmtd.c drivers/mtd/devices/blkmtd.c:52:25: linux/iobuf.h: No such file or directory Well, not entirely similar... /usr/src/kernel/uml/linux-2.5.69>find . -name iobuf.h /usr/src/kernel/uml/linux-2.5.69> -- Carlo Wood <ca...@al...> |