Hi qemu developers, I'm currently trying to emulate an ARM Cortex-M3 and I need to debug the system using GDB and IDA Pro. The platform is an STM32 and I'm using a port from github [1] based on qemu 1.5.1 for that. I ported the custom STM32 code to qemu 1.7.0 to have a more recent version to work with.
During a debug session, I'm experiencing segfaults in armv7m_nvic.c when reading the CPUID and Vector base registers (lines 176 and 212), because ARM_CPU(current_cpu) returns a NULL-pointer. IDA seems to do that quite regularly. Debugging with GDB works until you try to read the mentioned registers by hand like this: > (gdb) target remote :1234 > Remote debugging using :1234 > 0x08005d1c in ?? () > (gdb) x/x *0xE000ED00 > Remote connection closed The original STM32-port was based on qemu 1.5.1 and the behaviour was the same. That was the reason why I ported all that stuff over to 1.7.0 which unfortunately didn't solve the problem. Is this a known bug? Any hints on how I could possibly solve that problem? - Andy [1]: https://github.com/beckus/qemu_stm32