> > > When I compile the aic7xxx support (either old or new) > > > into the kernel it Oopses. When I compile it as a module > > > it getseither a bus error or: > > > aic7xxx.o: unresolved symbol del_timer_sync > > > aic7xxx.o: unresolved symbol kernel_flag > > > > Are these module load warnings? Bus error or warnings happen with the same > > identical modules? > > Actually I've noticed something curious. If I compile the > same kernel sources with the same kernel config, with a cross compiler on > my PC and a native compiler on my Mac (Linux on both) the modules do not > seem to be interchangeable. Should they be? For example I copied the
No, not normally. If the compiler versions differ, code for spinlock_t initializers will differ between gcc 2.95 and later gcc versions. (That will actually cause kernel hangs if you force loading of those modules, see thread on mol modules a few weeks back). That's just one example - there were a few other #defines for gcc version checks other than that particular one... All other things being equal, modules should be interchangeable though. But back to my question: do you get either bus error or symbol warnings with the same modules (just different times of module insertion, other moon phase, different SCSI bus activity, ...)? > 2.4.22-pre6 cross compiled modules from my PC to my Mac Linux setup > and the modules would not load into the 2.4.22-pre6 kernel that was > compiled on my Mac Linux with the same .config file. When I say > copied I mean create a tarball of the modules on the PC and untar'd > them on the Mac. Both compilers are gcc 3.3.x vintage but the binutils > may be quite different versions. I think the cross binutils on the > PC is a bit older than the binutils on the Debian PPC setup. Try with CONFIG_MODVERSIONS disabled. binutils might play a role in this, too - gcc versions being reasonably equal, modules cross compiled should load fine. Michael