This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re:[patch] "single step" atomic instruction sequences as a whole.
- From: ekara at uekae dot tubitak dot gov dot tr
- To: ekara at uekae dot tubitak dot gov dot tr
- Cc: pgilliam at us dot ibm dot com, gdb-patches at sources dot redhat dot com
- Date: Wed, 13 Sep 2006 14:07:29 +0300 (EEST)
- Subject: Re:[patch] "single step" atomic instruction sequences as a whole.
- References: <20060913110230.8EABD490164@uekae.uekae.gov.tr>
Sorry forgot the logs.
--------------------test function.
#include <stdio.h>
#define __KERNEL__
#include <asm/atomic.h>
atomic_t i;
int main(void)
{
printf("atomic_step_test\n");
atomic_set(&i,5);
printf("i=%d\n",atomic_read(&i));
atomic_dec(&i);
printf("i=%d\n",atomic_read(&i));
}
----------- gdb logs-----------
Breakpoint 2, main () at test.c:8
8 printf("atomic_step_test\n");
(gdb) next
9 atomic_set(&i,5);
(gdb) next
10 printf("i=%d\n",atomic_read(&i));
(gdb) next
151 :"=m" (v->counter), "=qm" (c)
(gdb) next
Stepping over an atomic sequence of instructions beginning at 0x10000484
breakpoint.c:7730: internal-error: remove_single_step_breakpoints:
Assertion `single_step_breakpoints[0] != NULL' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n)
--------------------------
Regards.
Emre
> Hello Mr Gilliam;
> Firstly thank you very much for your patch about single stepping problem
> on atomic instructions. In my opinion, this bug is very critical for
> powerpc arch (especially while kernel debugging). We have experienced this
> problem with both with h/w probe (BDI2000) and KGDB while debugging
> kernel. I have applied your patch to latest gdb (20060911 taken from cvs)
> and after correctting some fail warnings and test it on a PPC8540. It can
> successfullt detects 'lwarx' instruction but can't step over the loop and
> a little moment later, it gives an error message like 'breakpoint.c:7730:
> internal-error: remove_single_step_breakpoints: Assertion
> `single_step_breakpoints[0] != NULL' failed.'
> I have corrected some patch error, I dont know, maybe this is the reason
> of the problem. Here is the output of gdb and my test program that include
> atomic_dec function.
> Where can be the problem? And thank alot again, because atomic functions
> are everywhere on kernel waiting to cause infinite loops..
> Regards.
> Emre KARA
>
>
>