re: kernels 1.3.5, 1.3.6 not compiling modules

SCHMITZ_JOACHIM@tandem.com
3 Jul 95 00:31:00 -0700


Hi Perry

>It seems that this only happens building them as modules, since it only
>occurs in the module cleanup function. Looking at the code leaves me
>very puzzled :)

To make them compile as modules:

diff -u --recursive --new-file linux/drivers/scsi/sd.c~
linux/drivers/scsi/sd.c
--- linux/drivers/scsi/sd.c~ Sat Jul 1 10:43:42 1995
+++ linux/drivers/scsi/sd.c Sat Jul 1 10:45:44 1995
@@ -15,6 +15,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */

#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1330,9 +1334,6 @@
}

#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;

int init_module(void) {
diff -u --recursive --new-file linux/drivers/scsi/sr.c~
linux/drivers/scsi/sr.c
--- linux/drivers/scsi/sr.c~ Sat Jul 1 10:45:57 1995
+++ linux/drivers/scsi/sr.c Sat Jul 1 11:16:27 1995
@@ -14,6 +14,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */

#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1074,9 +1078,6 @@

#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;

int init_module(void) {

To get them linked as modules (without elf?):

diff -u --recursive --new-file linux/drivers/scsi/Makefile~
linux/drivers/scsi/Makefile
--- linux/drivers/scsi/Makefile~ Sat Jul 1 11:05:40 1995
+++ linux/drivers/scsi/Makefile Sat Jul 1 12:30:38 1995
@@ -14,7 +14,7 @@
$(CC) $(CFLAGS) -c $<

# This is used for ELF - it needs to migrate or be moved.
-LD_RFLAG = -m elf_i386
+#LD_RFLAG = -m elf_i386

AHA152X = -DDEBUG_AHA152X -DAUTOCONF -DSKIP_BIOSTEST -DIRQ=11

To make them a loadable module 8-)):

diff -u --recursive --new-file linux/drivers/scsi/sr_ioctl.c~
linux/drivers/scsi/sr_ioctl.c
--- linux/drivers/scsi/sr_ioctl.c~ Sat Jul 1 14:12:23 1995
+++ linux/drivers/scsi/sr_ioctl.c Sat Jul 1 14:13:10 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
diff -u --recursive --new-file linux/drivers/scsi/sd_ioctl.c~
linux/drivers/scsi/sd_ioctl.c
--- linux/drivers/scsi/sd_ioctl.c~ Sat Jul 1 14:20:33 1995
+++ linux/drivers/scsi/sd_ioctl.c Sat Jul 1 14:21:37 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>

_But_ when you use them, you4ll get a panic 8-(:

Detected scsi tape st0 at scsi0, chanel 0, id 5, lun 0
Atempt to allocate device chanel 0, targer 5, lun 0
kernel panic: No devide found in allocate device
(this happens somewhere in scsi.c)

Any hints?

Bye, Jojo

------------ REPLY ATTACHMENT --------
SENT 07-03-95 FROM SCHMITZ_JOACHIM @DUES

Hi Perry

>It seems that this only happens building them as modules, since it only
>occurs in the module cleanup function. Looking at the code leaves me
>very puzzled :)

To make them compile as modules:

diff -u --recursive --new-file linux/drivers/scsi/sd.c~
linux/drivers/scsi/sd.c
--- linux/drivers/scsi/sd.c~ Sat Jul 1 10:43:42 1995
+++ linux/drivers/scsi/sd.c Sat Jul 1 10:45:44 1995
@@ -15,6 +15,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */

#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1330,9 +1334,6 @@
}

#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;

int init_module(void) {
diff -u --recursive --new-file linux/drivers/scsi/sr.c~
linux/drivers/scsi/sr.c
--- linux/drivers/scsi/sr.c~ Sat Jul 1 10:45:57 1995
+++ linux/drivers/scsi/sr.c Sat Jul 1 11:16:27 1995
@@ -14,6 +14,10 @@
* Modified by Eric Youngdale eric@aib.com to support loadable
* low-level scsi drivers.
*/
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */

#include <linux/fs.h>
#include <linux/kernel.h>
@@ -1074,9 +1078,6 @@

#ifdef MODULE
-#include <linux/module.h>
-#include <linux/version.h>
-
char kernel_version[] = UTS_RELEASE;

int init_module(void) {

To get them linked as modules (without elf?):

diff -u --recursive --new-file linux/drivers/scsi/Makefile~
linux/drivers/scsi/Makefile
--- linux/drivers/scsi/Makefile~ Sat Jul 1 11:05:40 1995
+++ linux/drivers/scsi/Makefile Sat Jul 1 12:30:38 1995
@@ -14,7 +14,7 @@
$(CC) $(CFLAGS) -c $<

# This is used for ELF - it needs to migrate or be moved.
-LD_RFLAG = -m elf_i386
+#LD_RFLAG = -m elf_i386

AHA152X = -DDEBUG_AHA152X -DAUTOCONF -DSKIP_BIOSTEST -DIRQ=11

To make them a loadable module 8-)):

diff -u --recursive --new-file linux/drivers/scsi/sr_ioctl.c~
linux/drivers/scsi/sr_ioctl.c
--- linux/drivers/scsi/sr_ioctl.c~ Sat Jul 1 14:12:23 1995
+++ linux/drivers/scsi/sr_ioctl.c Sat Jul 1 14:13:10 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
diff -u --recursive --new-file linux/drivers/scsi/sd_ioctl.c~
linux/drivers/scsi/sd_ioctl.c
--- linux/drivers/scsi/sd_ioctl.c~ Sat Jul 1 14:20:33 1995
+++ linux/drivers/scsi/sd_ioctl.c Sat Jul 1 14:21:37 1995
@@ -1,3 +1,8 @@
+#ifdef MODULE
+#include <linux/module.h>
+#include <linux/version.h>
+#endif /* MODULE */
+
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>

_But_ when you use them, you4ll get a panic 8-(:

Detected scsi tape st0 at scsi0, chanel 0, id 5, lun 0
Atempt to allocate device chanel 0, targer 5, lun 0
kernel panic: No devide found in allocate device
(this happens somewhere in scsi.c)

Any hints?

Bye, Jojo