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 /_____________/ / // /_/ ><