SPARC GAS normally permits data to be misaligned. For example, it permits the
.long pseudo-op to be used on a byte boundary. However, the native SunOS assemblers issue an error when they see misaligned data.
You can use the
--enforce-aligned-data option to make SPARC GAS also issue an error about misaligned data, just as the SunOS assemblers do.
--enforce-aligned-data option is not the default because gcc issues misaligned data pseudo-ops when it initializes certain packed data structures (structures defined using the
packed attribute). You may have to assemble with GAS in order to initialize packed data structures in your own code.