Are you sure the compiler wasn't word-aligning the data space when it built the executable? I know other compilers for other systems sometimes do this (i.e., I'm making an educated guess...)