On Sun, Sep 21, 2008 at 04:03:54PM +0200, Bruno Haible wrote: > Hi Eric, > > > Here's the minimal patch needed to CVS libsigsegv to expose the bug, as > > well as work around it for Irix 5.3. > > Nice work! I'm applying this only slightly modified version. > - In the configuration test, keep room to both sides of the ss_sp value. > On IRIX, we don't want the test to crash. We want it to exit(1) > reasonably. > - When setting the stack_t in a reversed way, since we don't know exactly > how the fields are interpreted, don't pass an odd address and reduce the > size a bit. (Hope that still works!) > > I've put up a new tarball > at http://www.haible.de/bruno/gnu/libsigsegv-2.7-pre1.tar.gz > I grabbed this and tried to build it on Irix 5.3, 6.2 & 6.5(.30m). All 3 platforms report: checking for correct stack_t interpretation... no
The snapshot also fails to build on all 3 platforms. This is from Irix 6.2: make[2]: Entering directory `/usr/people/tgc/libsigsegv-2.7-pre1/src' /bin/ksh ../libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I.. -I. -I. -g -c -o handler.lo handler.c libtool: compile: cc -DHAVE_CONFIG_H -I. -I.. -I. -I. -g -c handler.c -o handler.o cc-3316 cc: ERROR File = handler-unix.c, Line = 490 The expression must be a pointer to a complete object type. ss.ss_sp = extra_stack + extra_stack_size - sizeof (void *); ^ 1 error detected in the compilation of "handler.c". make[2]: *** [handler.lo] Error 1 make[2]: Leaving directory `/usr/people/tgc/libsigsegv-2.7-pre1/src' It fails similarly on Irix 5.3 & 6.5. -tgc