From: Pedro Alves <pedro@codesourcery.com>
To: gdb@sourceware.org
Cc: Mark Kettenis <mark.kettenis@xs4all.nl>, drow@false.org
Subject: Re: Regression
Date: Tue, 10 Feb 2009 16:06:00 -0000 [thread overview]
Message-ID: <200902101606.23591.pedro@codesourcery.com> (raw)
In-Reply-To: <200902101547.n1AFlMsC025262@brahms.sibelius.xs4all.nl>
On Tuesday 10 February 2009 15:47:23, Mark Kettenis wrote:
> I don't quite understand what's happening here, but I get the
> following new failure:
>
> FAIL: gdb.base/annota1.exp: send SIGUSR1
>
I see that too.
> and some more fallout from that (and similar failures in annota3.exp).
> It seems that if we've just hit a breakpoint and then do "signal
> SIGUSR1" we never enter the signal handler or ignore the breakpoint in
> the signal handler.
Here's the infrun log on i386-openbsd4.3:
(gdb) b printf
Breakpoint 1 at 0x1c000408
(gdb) r
Starting program: /net/home/pedro/gdb/baseline/build-openbsd43/gdb/testsuite/gdb.base/annota1
Breakpoint 1, printf (fmt=0x3c000001 "value is %d\n") at /usr/src/lib/libc/stdio/printf.c:43
43 /usr/src/lib/libc/stdio/printf.c: No such file or directory.
in /usr/src/lib/libc/stdio/printf.c
(gdb) p $pc
$1 = (void (*)()) 0xa43a633 <printf+19>
(gdb) b handle_USR1
Breakpoint 2 at 0x1c000613: file ../../../src/gdb/testsuite/gdb.base/annota1.c, line 18.
(gdb) set debug infrun 1
(gdb) signal SIGUSR1
Continuing with signal SIGUSR1.
infrun: clear_proceed_status_thread (process 27276)
infrun: proceed (addr=0xffffffff, signal=30, step=0)
infrun: resume (step=1, signal=30), trap_expected=1
infrun: wait_for_inferior (treat_exec_as_sigtrap=0)
infrun: target_wait (-1, status) = 27276, status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0xeff4636
Here, it seems like telling BSD to single-step, and, to deliver
a signal at the same time, just single-steps, resulting in a SIGTRAP.
infrun: no stepping, continue
infrun: resume (step=0, signal=0), trap_expected=0
infrun: prepare_to_wait
value is 7
infrun: target_wait (-1, status) = 27276, status->kind = stopped, signal = SIGTRAP
infrun: infwait_normal_state
infrun: TARGET_WAITKIND_STOPPED
infrun: stop_pc = 0xeff4633
infrun: BPSTAT_WHAT_STOP_NOISY
infrun: stop_stepping
Breakpoint 1, printf (fmt=0x3c00000e "my_array[2] is %d\n") at /usr/src/lib/libc/stdio/printf.c:43
43 in /usr/src/lib/libc/stdio/printf.c
(gdb)
>
> I'm somewhat surprised to hear that the same test doesn't fail on x86
> Linux for you.
It doesn't for me.
--
Pedro Alves
next prev parent reply other threads:[~2009-02-10 16:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-10 15:17 Regression Mark Kettenis
2009-02-10 15:27 ` Regression Daniel Jacobowitz
2009-02-10 15:47 ` Regression Mark Kettenis
2009-02-10 16:06 ` Pedro Alves [this message]
2009-02-10 16:18 ` Regression Tristan Gingold
2009-02-10 18:00 ` Regression Pedro Alves
2009-02-10 18:40 ` Regression Mark Kettenis
2009-02-10 19:05 ` Regression Pedro Alves
2009-02-10 19:18 ` Regression Pedro Alves
2009-02-10 19:27 ` Regression Pedro Alves
2009-02-11 15:50 ` Regression Daniel Jacobowitz
-- strict thread matches above, loose matches on Subject: below --
2009-02-10 15:14 Regression Mark Kettenis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200902101606.23591.pedro@codesourcery.com \
--to=pedro@codesourcery.com \
--cc=drow@false.org \
--cc=gdb@sourceware.org \
--cc=mark.kettenis@xs4all.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox