This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fix ia64 longjmp() to work from alternate signal-stack


>>>>> On Tue, 31 Aug 2004 08:30:58 -0700, Ulrich Drepper <drepper@redhat.com> said:

  Uli> David Mosberger wrote:
  >> Were you able to get clarification on this issue already?

  Uli> Getting a formal answer will take a while.  One reply I got indicated
  Uli> that indeed the altstack is not switched.  So, the public siglongjmp
  Uli> interface need not handle this, just the exception handling stuff.  If
  Uli> it turns out that we want the siglongjmp code to handle this as well
  Uli> some day, we still can enable it.  For now, changing your patch to just
  Uli> implement the cancellation appropriately should go in.

So you want me to create an ia64-specific version of __libc_longjmp()
which will be sigaltstack-safe while everything else goes to
the old longjmp implementation, right?

The only callers of __libc_longjmp() I found are:

./linuxthreads/sysdeps/pthread/ptlongjmp.c:  __libc_longjmp (env, val);
./nptl/sysdeps/pthread/pt-longjmp.c:  __libc_longjmp (env, val);
./nptl/unwind.c:    __libc_longjmp ((struct __jmp_buf_tag *) buf->cancel_jmp_buf, 1);
./nptl/unwind.c:  __libc_longjmp ((struct __jmp_buf_tag *) ibuf->cancel_jmp_buf, 1);

so I think this would have the desired effect.

	--david


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]