On Wednesday 13 August 2008 15:49:39 Maciej W. Rozycki wrote: > On Wed, 13 Aug 2008, Brian Foster wrote: > > > Re the FS²: [ ... ] at least one thing doesn't work > > reliably for me [ ... ]: Breakpoints in the Linux kernel. > > They do detonate. Then, sometimes, I can ‘c’(ontinue) or > > ‘s’(tep) Ok. But other times, when I ‘c’ or ‘s’, the > > breakpoint detonates again and I'm stuck. [ ... ] > > Hmm, odd. It looks like a cache coherence issue. Maciej, That would be my guess also. > It could be a bug in your version of FS2 software -- did you raise the issue with them? I've been trying to. (I cannot say more on this ATM, sorry!) I'm using the most recent FS² (2.4.4) with the most recent SDE-Lite from MIPS (V6.06.01). Older versions of FS²/SDE had the same(?) issue. (This is with a 4KSd core, running Little Endian.) What _might_ be an issue/cause is we're using our own home-grown ‘gdb’ scripts (to init the memory, load the kernel, etc.). I didn't write them, but I have looked them over, and they _look_ Ok to me. > Anyway, as a workaround try setting "coherent=on" (quoting from memory) > in fs2.ini (just an idea -- it may not work and you will lose some > performance though) or use hardware breakpoints. As it turns out, I _have_ been running Coherent On! So I tried turning if Off, just to see what would happen. No difference. The behavior I saw was: 1. gdb b xxx_open 2. target cat /dev/xxx 3. (breakpoint detonates) 4. gdb x/i $pc (all is Ok) 5. gdb c (Ok) 6. target cat /dev/xxx 7. (breakpoint detonates) 8. gdb x/i $pc (wrong! instruction is ‘sdbbp’.) I'm now stuck. Any attempt to ‘c’ or ‘s’ just hits the breakpoint again. I tried some “mdi cacheflush” at some plausible-seeming points, all to no effect. I also tried deleting the breakpoint (after step 8), which was a disaster: (From memory) when I then ‘c’(ontinued), ‘gdb’ hung, and the ‘sysnav’ went into an infinite loop of reporting a breakpoint. ;-( ( I seem to recall also having an issue with hardware breakpoints, but cannot recall for certain ATM; tests will have to wait until later .... ;-\ ) All ideas and suggestions are very welcome! cheers! -blf- -- “How many surrealists does it take to | Brian Foster change a lightbulb? Three. One calms | somewhere in south of France the warthog, and two fill the bathtub | Stop E$$o (ExxonMobil)! with brightly-coloured machine tools.” | http://www.stopesso.com