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: "emin ak" <eminak71 at gmail dot com>
- To: pgilliam at us dot ibm dot com
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 9 Nov 2006 15:06:50 +0200
- Subject: Re: [patch] "single step" atomic instruction sequences as a whole.
- References: <2cf1ee820609180459o3b2fb25fi7cd9d8d6ac867fd0@mail.gmail.com>
Mr Gilliam,
I'am very interested in one of your gdb patches about ""single step"
atomic instruction sequences as a whole". we have experienced serious
problems on atomic functions while debugging linux kernel and we have
found only your approach can solve the problem. I have applied it
againts latest cvs source but it is not working truly, it can detects
atomic inc. successfully but cant step over them and gives this error:
'breakpoint.c:7730: internal-error: remove_single_step_breakpoints: Assertion
`single_step_breakpoints[0] != NULL' failed.'
Mr Gilliam, if you can kindly guide me (or give a clue) to overcome
this problem, I can reorganize this patch and resend it to community
Thank you very much for your time.
Best Regards.
Emin Ak
2006/9/18, emin ak <eminak71@gmail.com>:
Hi All;
Is there aynone can succesfully apply or care about this patch. I have
the same problem with my powerpc.
I have checked the latest cvs gdb and I have found this patch did'nt
merge into mainline. Will it commit later?
Thanks. Best Regards.
Emin Ak
>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
>
>
>