The tests sparccode/asm.c (*) and sparccode/cas.c in our testsuite fail with SIGILL because QEMU seems not to support the CAS(A) instruction in user mode.
See http://git.qemu.org/?p=qemu.git;a=commitdiff;h=16c358e96e0597b7d60754547166ad05ecc6d93d [^] for the commit that added CAS support; it is protected with "#if !defined(CONFIG_USER_ONLY)", which is set to 1 in the qemu user mode variant we use for the testsuite. I have no idea why this restriction is in place and asking a question in QEMU's IRC channel also didn't provide any clues.
(*) The tests seems to pass but only because use of CAS is protected by "#ifdef leon", which is only set by our internal preprocessor. However, as we cross-compile to SPARC, cparser forces usage of the external preprocessor, so the alternative code path without CAS is compiled.