https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79480
--- Comment #2 from PeteVine <tulipawn at gmail dot com> --- OK, having been built with: -mcpu=cortex-a5 -O3 -ffast-math -marm -fomit-frame-pointer -fipa-pta -mfpu=neon-vfpv4 -ftree-vectorize -flto -fsanitize=undefined doesn't crash but prints many errors, e.g.: 3ds.cpp:111:8: runtime error: load of misaligned address 0x007de59a for type 'Uint32', which requires 4 byte alignment 0x007de59a: note: pointer points here 00 00 4d 4d 0d be 00 00 02 00 0a 00 00 00 03 00 00 00 3d 3d b9 ab 00 00 3e 3d 0a 00 00 00 03 00 ^ 3ds.cpp:111:8: runtime error: load of misaligned address 0x007de5aa for type 'Uint32', which requires 4 byte alignment 0x007de5aa: note: pointer points here 00 00 3d 3d b9 ab 00 00 3e 3d 0a 00 00 00 03 00 00 00 ff af fa 00 00 00 00 a0 14 00 00 00 30 31 ^ 3ds.cpp:125:8: runtime error: load of misaligned address 0x007de5e1 for type 'Uint16', which requires 2 byte alignment 0x007de5e1: note: pointer points here 00 96 96 96 20 a0 0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00 11 00 09 00 00 00 e5 ^ 3ds.cpp:111:8: runtime error: load of misaligned address 0x007de5e3 for type 'Uint32', which requires 4 byte alignment 0x007de5e3: note: pointer points here 96 96 20 a0 0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00 11 00 09 00 00 00 e5 e5 e5 ^ 3ds.cpp:125:8: runtime error: load of misaligned address 0x007de5e7 for type 'Uint16', which requires 2 byte alignment 0x007de5e7: note: pointer points here 0f 00 00 00 11 00 09 00 00 00 96 96 96 30 a0 0f 00 00 00 11 00 09 00 00 00 e5 e5 e5 40 a0 0e 00 LIBGL: warning, gles_glBlendFuncSeparate is NULL main.cpp:4762:29: runtime error: index 256 out of bounds for type 'int [256]' main.cpp:4762:10: runtime error: load of address 0x00427180 with insufficient space for an object of type 'int' 0x00427180: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 d8 2a 61 00 ^ main.cpp:4783:35: runtime error: index 65536 out of bounds for type 'unsigned char [65536]' main.cpp:4783:37: runtime error: store to address 0x00407180 with insufficient space for an object of type 'unsigned char' 0x00407180: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ main.cpp:4784:39: runtime error: index 65537 out of bounds for type 'unsigned char [65536]' main.cpp:4784:41: runtime error: store to address 0x00407181 with insufficient space for an object of type 'unsigned char' 0x00407181: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ main.cpp:4785:39: runtime error: index 65538 out of bounds for type 'unsigned char [65536]' main.cpp:4785:41: runtime error: store to address 0x00407182 with insufficient space for an object of type 'unsigned char' 0x00407182: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ main.cpp:4786:39: runtime error: index 65539 out of bounds for type 'unsigned char [65536]' main.cpp:4786:41: runtime error: store to address 0x00407183 with insufficient space for an object of type 'unsigned char' 0x00407183: note: pointer points here 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ^ main.cpp:3384:44: runtime error: downcast of address 0x00cb3488 which does not point to an object of type 'AIObj' 0x00cb3488: note: object is of type 'DynamicObj' 61 01 00 00 c4 2f 29 00 00 00 00 00 00 00 00 00 01 1b c8 00 00 00 80 3f 00 00 80 3f 00 00 00 3f ^~~~~~~~~~~ vptr for 'DynamicObj' main.cpp:3385:19: runtime error: member access within address 0x00cc67d8 which does not point to an object of type 'DynamicObj' 0x00cc67d8: note: object is of type 'CExplosion' 61 00 00 00 e4 43 29 00 00 00 00 00 00 00 00 00 00 00 00 00 cd cc cc 3d 00 00 80 3f 00 00 00 3f ^~~~~~~~~~~ vptr for 'CExplosion'