I've helped port a few open source systems to ARM. It's easy to write code which looks like C, but ends up being "x86ish C":
* Assume sizes of types, endian, that type of stuff (endian is particularly troublesome).
* The threading model is very different, and it's very easy to write a lot of code which works on the x86 threading model and then explodes in interesting ways when put on ARM.
* Assume sizes of types, endian, that type of stuff (endian is particularly troublesome).
* The threading model is very different, and it's very easy to write a lot of code which works on the x86 threading model and then explodes in interesting ways when put on ARM.