Luis, Thank you for testing and sorry for being late to be back on this. From: Luis Machado Subject: Re: [patch] "single step" atomic instruction sequences as a whole. Date: Sat, 17 Feb 2007 00:23:19 -0200 > So far so good. But if we continue executing the program we will > eventually reach a set of instructions like this one: > > 0x40000119ae8 <._IO_puts+312>: lwarx r9,0,r3 > 0x40000119aec <._IO_puts+316>: stwcx. r0,0,r3 > 0x40000119af0 <._IO_puts+320>: bne+ 0x40000119ae8 <._IO_puts+312> > > At this point, GDB keeps stepping through the lwarx and stwcx > instructions endlessly. If i hit continue right after the first > breakpoint (0x40000119a08), the program ends normally > > I tested the same instruction block with Paul's patch and this did not > happen, stating that it skipped the atomic instruction set as usual, and > ending the program. I have investigeted it and found that the code in my patch cannot detect the region to skip from the sequence of instructions mentioned above. But, in fact, I have diverted that part of codes from Paul's one :-( I have been misguided by some useless codes in that patch... Yes, I should have made myself understand more deeply about its behavior. Anyway, I have looked anew at that part of codes and improved it. Please try the attached version of patchset, if you don't mind. It's for CVS head. Best regards, -- Emi SUZUKI