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.
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
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.
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
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
( 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!
“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