Re: modutils snapshot 960116

David S. Miller (davem@jenolan.rutgers.edu)
Fri, 17 Jan 1997 07:01:22 -0500


Richard you assume a lot about how alloca() works on the low level in
genksyms.c

b = e = alloca(sizeof(*e));
*(e++) = list;
while ((list = list->next) != NULL)
*(b = alloca(sizeof(*b))) = list;

while (b != e)
{
struct string_list *cur;
struct symbol *subsym;

cur = *(b++);
switch (cur->tag)

You simply cannot expect alloca() to give you consequetive pieces of
memory on the stack. And in fact because on the Sparc you never get
consequetive pieces of memory, genksyms dies instantly there.

You also assume the stack grows down, and thats another no-no. ;-)

---------------------------------------------////
Yow! 11.26 MB/s remote host TCP bandwidth & ////
199 usec remote TCP latency over 100Mb/s ////
ethernet. Beat that! ////
-----------------------------------------////__________ o
David S. Miller, davem@caip.rutgers.edu /_____________/ / // /_/ ><