Camm, thanks for your test patch, I exactly confirm this bug. At Fri, 16 Apr 2004 10:35:41 -0400, Camm Maguire wrote: > Execution on alpha (escher unstable dchroot): > rt_sigaction(SIGSEGV, {0x1200006a0, [], SA_RESTART|SA_SIGINFO}, NULL, 8, > 0xffffffffffffffff) = 0 > mprotect(0x120012000, 8192, PROT_READ) = 0 > --- SIGSEGV (Segmentation fault) @ 0 (0) --- > fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 > mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = > 0x2000001a000 > write(1, "Caught signal\n", 14Caught signal > ) = 14 > mprotect(0x120012000, 8192, PROT_READ|PROT_WRITE) = 0 > osf_syscall(0x12001cc20, 0x2000, 0x3, 0, 0xffffffffffffffff, 0) = -78 > munmap(0x2000001a000, 8192) = 0 > exit_group(2199025127240) = ? > [EMAIL PROTECTED]:~$ > > ============================================================================= > > Problem appears to be in osf_syscall on return from the handler. > > PLEASE let me know when you think a fix might be at hand, as this is > keeping several of my packages out of testing.
OK, now I can find the problem. It seems upstream already fixed this problem. The problem is appeared that osf_syscall (syscall num 0) is called instead of rt_sigreturn. I modified sources, then sometimes it's called mknod() and so on. But I use sigaction() without SA_SIGINFO, it works fine. This means sysdeps/unix/sysv/linux/alpha/rt_sigaction.S is broken for rt_sigreturn. The upstream fixed this problem with the latest cvs. I've put such modification for debian cvs: debian/patches/alpha-rtsigaction-fix.dpatch. Regards, -- gotom