C and C++ programs compiled with gcc 4.1 die with a SIGSEGV in Solaris 9 printstack(). The same programs run successfully when compiled with 4.0.2 and prior. If this is due to a Solaris bug it would be great if gcc could work around it.
$ cat t.c && gcc -g t.c && ./a.out || gdb -q a.out int printstack (int); int main () { printstack (1); } Segmentation Fault (core dumped) (gdb) run Starting program: /tmp/a.out Program received signal SIGSEGV, Segmentation fault. 0xff2d6f24 in display_stack_info () from /usr/lib/libc.so.1 (gdb) where #0 0xff2d6f24 in display_stack_info () from /usr/lib/libc.so.1 #1 0xff2d6a84 in walkcontext () from /usr/lib/libc.so.1 #2 0xff2d6fb4 in printstack () from /usr/lib/libc.so.1 #3 0x000105b4 in main () at t.c:5 -- Summary: SIGSEGV in printstack() on Solaris 9 Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: sebor at roguewave dot com GCC build triplet: sparc-sun-solaris2.9 GCC host triplet: sparc-sun-solaris2.9 GCC target triplet: sparc-sun-solaris2.9 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27629