From: Peter V. E. <pva...@de...> - 2006-06-30 21:25:01
|
Hello, > If I recall correctly, the problem is that if you have gcc4, you > should use libsigsegv 2.3 or newer - there was a test in older > versions that gcc4 optimizes away. Is it your case? Recently I've been investigating the build failures of clisp for ia64, and I've noticed that libsigsegv does not report being able to detect a stack overflow even with gcc-3.3. The problem is code like the following in configure: altstack.ss_sp = mystack; altstack.ss_size = sizeof (mystack); altstack.ss_flags = 0; /* no SS_DISABLE */ if (sigaltstack (&altstack, NULL) < 0) { on ia64 SIGSTKSZ (minimum stack size supported) is 262144 bytes while the standard stack created in the tests is 16384 bytes. Changing all mentions of char mystack[16384]; into char mystack[SIGSTKSZ] seems to work. Then I modified src/handler-unix.c to also have SIGSTKSZ as a minimum stack size: ss.ss_size = extra_stack_size; if (ss.ss_size < SIGSTKSZ) ss.ss_size = SIGSTKSZ; I'm building clisp now to check if this helped. :-S Groetjes, Peter -- signature -at- pvaneynd.mailworks.org http://www.livejournal.com/users/pvaneynd/ "God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson| |