misc 2.3.34 bypasses

Tom Zerucha (tz@execpc.com)
Fri, 24 Dec 1999 13:58:36 -0500 (EST)


I compile everything as modules. depmod -a -e returned a lot of
unresolved symbols, and I needed to get INITRD working.

So far this is what is left:

depmod -a -e
depmod: *** Unresolved symbols in /lib/modules/2.3.34/fs/affs.o
depmod: __divdi3
depmod: __moddi3
depmod: *** Unresolved symbols in /lib/modules/2.3.34/misc/decnet.o
depmod: nf_hooks
depmod: *** Unresolved symbols in /lib/modules/2.3.34/misc/i2o_lan.o
depmod: i2o_event_register

But nf_hooks is defined:

System.map:c026e840 B nf_hooks

It is a B instead of a T symbol but I don't know why it would matter.

i2o_event_register doesn't seem to be there.

Initrd won't work unless this is fixed. I didn't fix it, I bypassed it.

diff -Bbur clean/init/main.c lin2334/init/main.c
--- clean/init/main.c Sat Nov 20 13:09:05 1999
+++ lin2334/init/main.c Thu Dec 9 23:15:18 1999
@@ -484,7 +484,7 @@
kmem_cache_init();
sti();
calibrate_delay();
-#ifdef CONFIG_BLK_DEV_INITRD
+#ifdef CONFIG_BLK_DEV_INITRD_XXX
// FIXME, use the bootmem.h interface.
if (initrd_start && !initrd_below_start_ok && initrd_start < memory_start) {
printk(KERN_CRIT "initrd overwritten (0x%08lx < 0x%08lx) - "

For some reason there are lots of messages without the added if. Is this
a real problem? I didn't see this with 2.3.33. It always says nsect is 2
and rq->nr_sectors is 0.

diff -Bbur clean/drivers/block/ide-disk.c lin2334/drivers/block/ide-disk.c
--- clean/drivers/block/ide-disk.c Fri Dec 24 13:34:33 1999
+++ lin2334/drivers/block/ide-disk.c Fri Dec 24 13:30:35 1999
@@ -242,6 +242,11 @@
rq->sector += nsect;
#endif
if ((rq->nr_sectors -= nsect) <= 0) {
+
+
+ if( rq->nr_sectors )
+
+
printk("%s: multwrite: count=%d, current=%ld\n",
drive->name, nsect, rq->nr_sectors);
spin_unlock_irqrestore(&io_request_lock, flags);

IrDA won't let me do everything as modules without these symbols exported:

diff -Bbur clean/drivers/net/irda/irport.c lin2334/drivers/net/irda/irport.c
--- clean/drivers/net/irda/irport.c Sun Nov 21 14:13:56 1999
+++ lin2334/drivers/net/irda/irport.c Fri Dec 24 12:11:46 1999
@@ -93,6 +93,12 @@

EXPORT_SYMBOL(irport_change_speed);

+EXPORT_SYMBOL(irport_start);
+EXPORT_SYMBOL(irport_stop);
+EXPORT_SYMBOL(irport_interrupt);
+EXPORT_SYMBOL(irport_hard_xmit);
+EXPORT_SYMBOL(__irport_change_speed);
+
int __init irport_init(void)
{
int i;
diff -Bbur clean/net/irda/irmod.c lin2334/net/irda/irmod.c
--- clean/net/irda/irmod.c Sun Nov 21 14:13:57 1999
+++ lin2334/net/irda/irmod.c Fri Dec 24 12:13:16 1999
@@ -316,6 +316,8 @@
strncpy(notify->name, "Unknown", NOTIFY_MAX_NAME);
}

+EXPORT_SYMBOL(irda_execute_as_process);
+
/*
* Function irda_execute_as_process (self, callback, param)
*

What happened to update_vm_cache? These probably won't work.
And affs has problems with div and mod as seen above.

diff -Bbur clean/fs/affs/file.c lin2334/fs/affs/file.c
--- clean/fs/affs/file.c Sun Dec 5 11:42:03 1999
+++ lin2334/fs/affs/file.c Fri Dec 24 12:18:57 1999
@@ -635,7 +635,9 @@
written = -EFAULT;
break;
}
+#if 0
update_vm_cache(inode,pos,p,c);
+#endif
mark_buffer_uptodate(bh,1);
mark_buffer_dirty(bh,0);
affs_brelse(bh);
@@ -715,8 +717,9 @@
written = -EFAULT;
break;
}
+#if 0
update_vm_cache(inode,pos,p,c);
-
+#endif
pos += c;
buf += c;
written += c;
diff -Bbur clean/fs/ntfs/fs.c lin2334/fs/ntfs/fs.c
--- clean/fs/ntfs/fs.c Thu Dec 9 16:14:30 1999
+++ lin2334/fs/ntfs/fs.c Fri Dec 24 12:18:54 1999
@@ -52,7 +52,9 @@
{
struct ntfs_getuser_update_vm_s *p = src->param;
copy_from_user (dest, p->user, len);
+#if 0
update_vm_cache (p->ino, p->off, dest, len);
+#endif
p->user += len;
p->off += len;
}
diff -Bbur clean/fs/qnx4/file.c lin2334/fs/qnx4/file.c
--- clean/fs/qnx4/file.c Fri Dec 24 13:34:39 1999
+++ lin2334/fs/qnx4/file.c Fri Dec 24 12:18:56 1999
@@ -124,7 +124,9 @@
}
break;
}
+#if 0
update_vm_cache(inode, pos, p, c);
+#endif
mark_buffer_uptodate(bh, 1);
mark_buffer_dirty(bh, 0);
brelse(bh);

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/