https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82518
--- Comment #20 from Nick Clifton <nickc at redhat dot com> --- Hi Aldy, >>> for the store is not double word aligned. Which leads me to wonder, >>> what value is stored in r5 when the STRD instruction is being executed ? >> >> 1: x/i $pc >> => 0x8c24 <initialise_monitor_handles+156>: strd r2, [r5, #12] >> (gdb) info reg r5 >> r5 0x1b6e8 112360 >> ...which is 64 bit aligned. Hmm, curious. OK - my next recommendation would be to add some printf()s to the simulator to find out a) if Handle_Store_Double() really is being called, or if the abort is happening somewhere else. Plus, if it is being called, then b) where inside that function the abort is happening. Maybe the store operations are triggering a memory access failure. Cheers Nick