I have found the problem in smail that causes an unaligned trap. It is a case of a data structure containing a pointer, eight bytes long, where the address of that structure member does not have all three low bits zero. I wonder if there is a standard method for solving this kind of alignment problem. I'm gonna look into the code more to see where the data is allocated. It may be as simple as making the whole structure be an even number of 64 bit words long.