The missing detail in this bug report is that you only get the segfault if the CPSR register is being changed via the gdb stub interface. This happens because we try to use cpu_single_env as the env to pass to cpu_abort(), and if you've got to bank_number() via the gdb stub then cpu_single_env is NULL. I'm going to submit some patches which (a) fix this and (b) change behaviour to ignore bogus mode setting attempts rather than aborting.
-- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/607794 Title: SEGFAULT caused by modifying the CPSR register Status in QEMU: New Bug description: IIf the CPSR register (qemu-system-arm) is set to an invalid mode, qemu will segfault, because it tries to access a NULL-Pointer "env" in translate.c:9286. Either way, qemu will abort in exec.c:1863. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/607794/+subscriptions