[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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)

       gsignal, ssignal - software signal facility

       #include <signal.h>

       typedef void (*sighandler_t)(int);

       int gsignal(signum);

       sighandler_t ssignal(int signum, sighandler_t action);

       Don't  use  these  functions under Linux.  Due to a historical mistake,
       under Linux these functions  are  aliases  for  raise()  and  signal(),


       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

J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

Reply to: