This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] "single step" atomic instruction sequences as a whole.


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
>
>
>



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]