Re: Rosetta
> in low-level languages like C (and Objective C) may make assumptions about memory alignment and layout that may not be preserved when recompiling to another platform.
X86_64 and ARM are very similar in this respect. Both are little-endian 64-bit architectures. Different endianness and differing pointer sizes are in my experience the biggest bugaboos, when porting low-level C code. It also customary to use natural alignment on both platforms, so structure layouts are similar. I expect even poorly written C code will in most cases work with just a recompilation.