[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)

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: