On Fri, 25 Apr 2008, Rene Herman wrote: > On 25-04-08 20:06, Robert P. J. Day wrote: > > > $ grep -rw MODULE_STACKSIZE * > > include/asm-x86/module.h:# define MODULE_STACKSIZE "4KSTACKS " > > include/asm-x86/module.h:# define MODULE_STACKSIZE "" > > include/asm-x86/module.h:# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY > > MODULE_STACKSIZE > > include/asm/module.h:# define MODULE_STACKSIZE "4KSTACKS " > > include/asm/module.h:# define MODULE_STACKSIZE "" > > include/asm/module.h:# define MODULE_ARCH_VERMAGIC MODULE_PROC_FAMILY > > MODULE_STACKSIZE > > > > i see a bunch of #defines, but no one using it for anything. am i > > missing something? > > The last define is the important one. Try a "modinfo <module>" and > see how "4KSTACKS" shows up alongside other flags in the version > magic. 4KSTACKS is fundamental: if a module is compiled for 8K > stacks and does esp & ~(8192-1) to get at thread_info, it's not > going to find it there when running on a 4K stacks kernel as the > most definite mismatch. This is why modprobe (without forcing it) > would refuse to load the module. oh man, i'm going to sound dumb by asking this, but what precisely is it that embeds that macro value in the module? looking at the above, i could see several #define's, but what i can't see is what code is responsible for taking that value and cramming it into a module file. that's what was confusing me, and still is. everyone above is *defining* that macro, but i don't see what is *using* it. did i just embarrass myself? again? rday -- ======================================================================== Robert P. J. Day Linux Consulting, Training and Annoying Kernel Pedantry: Have classroom, will lecture. http://crashcourse.ca Waterloo, Ontario, CANADA ======================================================================== -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ