Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: Jonathan Rosenbaum <mmac_swim@ya...> - 2002-01-29 04:51:20
|
On Mon, 28 Jan 2002, Jeff Dike wrote: > mmac_swim@... said: > > .. it loops 12 times, on the 12th try it passes > > {count = -65535, wait_lock = {gcc_is_buggy = 0}, wait_list = { > > next = 0xa08eda3c, prev = 0xa08eda3c}} > > to down_read, and then proceeds to panic. > > This doesn't look like it has anything to do with mtd or jffs at all. > > Can you go into arch/um/Makefile-i386, remove UM_FASTCALL from CFLAGS, > and in .config change CONFIG_RWSEM_XCHGADD_ALGORITHM to > CONFIG_RWSEM_GENERIC_SPINLOCK and see if that helps? The testing kernel already had UM_FASTCALL removed, changing the .config resulted in the compile failing with rwsem-spinlock.c:33: redefinition of `init_rwsem' (see the end of of the message for the complete log). > Some versions of gcc have a bug which causes register corruption in > regparam procedures when -pg is on. I'm suspicious that something similar > might be going on here. Yours -> (gcc version 2.95.2 20000220 (Debian GNU/Linux)) Mine -> (gcc version 2.95.4 20010703 (Debian prerelease)) > Alternatively, if you have some different versions of gcc lying around, > you could build UML with them and see if it behaves better. > > Also, can you reproduce this with a compiled kernel from the UML site? I wish I could, but in order to test these lines: mount -t hostfs none -o /tmp/gboot_non_root_1000/loopback /mnt1 mkfs.jffs2 -r /mnt1/ -o /dev/rd/2 insmod blkmtd.o device=/dev/rd/2 mount -t jffs2 /dev/mtdblock/0 /mnt2 mtd device capability has to be in the kernel, and the same thing applies in order for jffs/jffs2 to be properly compiled. Here are the configs required: # # Memory Technology Devices (MTD) # CONFIG_MTD=y CONFIG_MTD_BLKMTD=m CONFIG_MTD_CHAR=y CONFIG_MTD_BLOCK=y Log for failed compile with CONFIG_RWSEM_GENERIC_SPINLOCK replacement: gcc -D__KERNEL__ -I/usr/src/linux-2.4.17-9um/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fprofile-arcs -ftest-coverage -g -pg -DPROFILING -U__i386__ -Ui386 -D__arch_um__ -DSUBARCH="i386" -DNESTING=0 -D_LARGEFILE64_SOURCE -I/usr/src/linux-2.4.17-9um/arch/um/include -Derrno=kernel_errno -DPATCHLEVEL=4 -DEXPORT_SYMTAB -c rwsem-spinlock.c rwsem-spinlock.c:33: redefinition of `init_rwsem' /usr/src/linux-2.4.17-9um/include/asm/arch/rwsem.h:85: `init_rwsem' previously defined here rwsem-spinlock.c: In function `init_rwsem': rwsem-spinlock.c:34: structure has no member named `activity' rwsem-spinlock.c: In function `__rwsem_do_wake': rwsem-spinlock.c:63: structure has no member named `activity' rwsem-spinlock.c:82: structure has no member named `activity' rwsem-spinlock.c: In function `__rwsem_wake_one_writer': rwsem-spinlock.c:96: structure has no member named `activity' rwsem-spinlock.c: At top level: rwsem-spinlock.c:110: redefinition of `__down_read' /usr/src/linux-2.4.17-9um/include/asm/arch/rwsem.h:98: `__down_read' previously defined here rwsem-spinlock.c: In function `__down_read': rwsem-spinlock.c:118: structure has no member named `activity' rwsem-spinlock.c:120: structure has no member named `activity' rwsem-spinlock.c: At top level: rwsem-spinlock.c:156: redefinition of `__down_write' /usr/src/linux-2.4.17-9um/include/asm/arch/rwsem.h:123: `__down_write' previously defined here rwsem-spinlock.c: In function `__down_write': rwsem-spinlock.c:164: structure has no member named `activity' rwsem-spinlock.c:166: structure has no member named `activity' rwsem-spinlock.c: At top level: rwsem-spinlock.c:201: redefinition of `__up_read' /usr/src/linux-2.4.17-9um/include/asm/arch/rwsem.h:150: `__up_read' previously defined here rwsem-spinlock.c: In function `__up_read': rwsem-spinlock.c:206: structure has no member named `activity' rwsem-spinlock.c: At top level: rwsem-spinlock.c:218: redefinition of `__up_write' /usr/src/linux-2.4.17-9um/include/asm/arch/rwsem.h:176: `__up_write' previously defined here rwsem-spinlock.c: In function `__up_write': rwsem-spinlock.c:223: structure has no member named `activity' make[2]: *** [rwsem-spinlock.o] Error 1 make[2]: Leaving directory `/usr/src/linux-2.4.17-9um/lib' make[1]: *** [first_rule] Error 2 make[1]: Leaving directory `/usr/src/linux-2.4.17-9um/lib' make: *** [_dir_lib] Error 2 |