Re: Bug#321785: fakeroot: segfaults on [hppa]
> > no, it's not fakeroot, it's make segfaulting ...
> [...]
> > Program received signal SIGSEGV, Segmentation fault.
> > [Switching to Thread 16384 (LWP 16911)]
> > 0x4091fd20 in __canonicalize_funcptr_for_compare () from /lib/libpthread.so.0
> > (gdb) bt
> > #0 0x4091fd20 in __canonicalize_funcptr_for_compare ()
> > from /lib/libpthread.so.0
> > #1 0x4091b424 in sigaction () from /lib/libpthread.so.0
> > #2 0x405cc950 in sigaction () from /lib/libc.so.6
> > #3 0x405cc748 in ssignal () from /lib/libc.so.6
> > #4 0x0001d690 in main ()
> > (gdb)
GSIGNAL(3) Linux Programmer's Manual GSIGNAL(3)
NAME
gsignal, ssignal - software signal facility
SYNOPSIS
#include <signal.h>
typedef void (*sighandler_t)(int);
int gsignal(signum);
sighandler_t ssignal(int signum, sighandler_t action);
DESCRIPTION
Don't use these functions under Linux. Due to a historical mistake,
under Linux these functions are aliases for raise() and signal(),
respectively.
...
CONFORMING TO
SVID2, XPG2. These functions are available under AIX, DG-UX, HPUX,
SCO, Solaris, Tru64. They are called obsolete under most of these sys-
tems, and are broken under Linux libc and glibc. Some systems also
have gsignal_r() and ssignal_r().
I'm guessing that ssignal is called with action -2. I have no idea
what that's supposed to do. __cffc accepts small positive function
pointer addresses and -1 as special. It doesn't attempt to canonicalize
them.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Reply to: