Alignment is one of those interesting things, because x86 doesn't care so much about it... And everyone starts out assuming everything is x86.
Meanwhile, ARM does care about alignment, and its now the most popular architecture for anything that's "not a PC".
My first experience with this was writing some smartphone code that died with a SIGBUS when trying to make a function call, where the reason was totally non-obvious from simply looking at the code.
Most of the troubles related to -fstrict-aliasing involve unaligned reads. All sorts of file formats, TIFF for example, are most easily handled with unaligned reads.
Meanwhile, ARM does care about alignment, and its now the most popular architecture for anything that's "not a PC".
My first experience with this was writing some smartphone code that died with a SIGBUS when trying to make a function call, where the reason was totally non-obvious from simply looking at the code.