1.3.28 no scsi problem with ksyms

Tom Dyas (tdyas@gandalf.rutgers.edu)
Tue, 19 Sep 95 2:57:52 EDT


I was not able to compile the 1.3.28 kernel without SCSI support because of a
conflict within kernel/ksyms.c. I got my kernel to compile with the following
patch:

--- ksyms.c.old Tue Sep 19 01:29:02 1995
+++ ksyms.c Tue Sep 19 02:33:55 1995
@@ -92,7 +92,7 @@
off_t offset, int length,
int inode, int func) = 0; /* Dirty hack */

-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_SCSI) && defined(CONFIG_PROC_FS)
extern struct proc_dir_entry scsi_dir[];
extern struct proc_dir_entry scsi_hba_dir[];
#endif
@@ -417,7 +417,7 @@
X(gendisk_head),
X(resetup_one_dev),

-#if defined(CONFIG_PROC_FS)
+#if defined(CONFIG_SCSI) && defined(CONFIG_PROC_FS)
X(scsi_dir),
X(scsi_hba_dir),
#endif

The two definitions "scsi_dir" and "scsi_hba_dir" are unresolved when the
final link comes around. I found "scsi_hba_dir"'s definition in
drivers/scsi/scsi_proc.c which does not get compiled and linked when scsi
support is turned off.

This patch is a hack. Haven't even tested booting the resulting kernel. :)