This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] New test sigbpt.{c,exp}
- From: Daniel Jacobowitz <drow at false dot org>
- To: Michael Elizabeth Chastain <mec dot gnu at mindspring dot com>
- Cc: ac131313 at redhat dot com, gdb-patches at sources dot redhat dot com
- Date: Tue, 6 Jul 2004 14:30:12 -0400
- Subject: Re: [rfa] New test sigbpt.{c,exp}
- References: <20040706181221.153B24B104@berman.michael-chastain.com>
On Tue, Jul 06, 2004 at 02:12:21PM -0400, Michael Chastain wrote:
> drow> 0x080483f2 in bowler () at /opt/src/gdb/src/gdb/testsuite/gdb.base/sigbpt.c:38
> drow> 38 return *(char *) (v1 + v2 + v3);
> drow> 1: x/i $pc 0x80483f2 <bowler+25>: mov $0x55c35d00,%esi
> drow> (gdb) FAIL: gdb.base/sigbpt.exp: stepi out of handler; stepi bp at segv
> drow>
> drow> That's not the instruction that should be there; there's a multi-byte
> drow> instruction at <bowler+24>.
>
> How about:
>
> (1) before running the program, 'disassemble bowler'
> (2) at the breakpoint, 'x/i $pc'
> check that the output of (2) matches one of the lines in (1)
That's not a good generic fix; it's just a peculiarity of x86 that we
get this particular problem. If that hadn't been a multibyte opcode
something different would have happened. I think just executing
another instruction here after the faulting one is enough to match the
kfail, whether it's the size of a breakpoint or not.
--
Daniel Jacobowitz