I found a problem with master crashing when compiled on Buster with
the RTAI kernel.

Dewey found a fix, but so far we don't understand it:
https://github.com/LinuxCNC/linuxcnc/commit/ef6f36a16c7789af258d34adf4840d965f4c0b10

What is more confusing is that keeping the init loop and adding back
the ={ 0 } initialiser brings back the lock-up crash.

I was so baffled I asked on Stack Overflow:
https://stackoverflow.com/questions/60589636/what-can-cause-c-code-to-crash-when-an-array-is-initialised-at-declaration-but

Someone there set up a test system that shows the compiler output for
various compilers.

Dewey then found that the problem does not occur with gcc-6. Buster
defaults to gcc-8.3.
Playing around with the online tool linked to from the SO thread shoes
that gcc-8.3 uses the xmm0 register, and gcc-6.3 does not. There is a
suggestion that xmm should not be used in kernel code.

Any ideas?

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers

Reply via email to