This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: x86 linux GDB and SIGALRM
- To: ac131313 at cygnus dot com
- Subject: Re: x86 linux GDB and SIGALRM
- From: Mark Kettenis <kettenis at wins dot uva dot nl>
- Date: Mon, 27 Mar 2000 12:20:11 +0200 (MET DST)
- CC: jlarmour at redhat dot co dot uk, gdb at sourceware dot cygnus dot com
- References: <38DBF46A.8EABE9BF@redhat.co.uk> <38DF3159.DF837D7D@cygnus.com>
Date: Mon, 27 Mar 2000 20:00:57 +1000
From: Andrew Cagney <ac131313@cygnus.com>
Jonathan Larmour wrote:
>
> I have an x86 Linux program here that uses SIGALRM for regular
> periodic "interrupts". SIGVTALRM isn't really precise enough for
> it's needs.
>
> However I noticed that "si" doesn't work - it interferes with the
> ptrace/GDB interface. It seems that when
> ptrace(PTRACE_SINGLESTEP,...) returns, a SIGALRM is pending, and
> the single step gets lost.
>
> Now this works in GDB 4.18 so this is a regression. But does
> anyone have any clues as to what's *meant* to be going on here,
> and how I fix GDB?
Can anyone independantly confirm/deny this?
No, but I'd like to see if I can reproduce the problem. Jonathan, can
you provide a small test program and detailed instructions (typescript
of a GDB session) on how to do that?
I know there are problems with single stepping through signal
handlers. These problems were present in 4.18. They were just masked
because 4.18 failed to recognize signal handlers. Fixing it is not
easy, and will require changes to handle_inferior_event(), that I
prefer not to make before the 5.0 release.
Mark