Well, this is one of the mysteries, I cannot really pinpoint the point
of failure yet. For now I know that especially more complex GUI
applications tend to trigger it. What the exactly "complexity" is is yet
unknown but e.g. a web-browser is pretty sure to sooner or later cause
it. With my current OpenEmbedded Build almost every GTK+ application
crashes directly at startup or soon afterwards.

I found on old MIPS mailinglists about early kernel 2.6 some reports of
a similar bug triggered by some kernel misimplementation of some
?ATOMIC? syscalls - presumably the ones used for userspace
process/thread synchronisation. There were assembler codepaths that
could break in certain situations causing a jump into falsely generated
assembler code. But this was supposed to be fixed until 2.6.24.

I also know that running the application in GDB causes the fault to
*not* being triggered.

Hm. So that rules out my inherent assumption that the illegal instruction is compiled into the code (like the arm4 vs. arm5 issue I did have).

Well, I guess it is not exactly that easy, pitily.
The MIPS family of CPUs is pretty big and many MIPS chip vendors add
vendor specific instructions - like our JZ4730 has some SIMD
instructions to boost image decoding (there is BTW a binary only libjpeg
available at the Ingenic site which uses that).

So this is similar to the ARM family.

But it brings me to some idea - is there some minimalistic instruction set that every CPU understands? And is it possible to configure the build to use that minimal IS only?

And another idea: does -O of the kernel code have an influcence?
With that approach it could be possible to find out if it really depends on the instruction sequence/schedule.

I fear that Ingenic also has some nifty changes in their core that could
trigger this *or* their 2.6.24 kernel patch which adds the JZ4730
support in the first place simply has a bug.

I remember that x86 systems also need such fixes for the microcode in the kernel.

Nikolaus


_______________________________________________
Mipsbook-devel mailing list
Mipsbook-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/mipsbook-devel

Reply via email to