Re:Android security in 2016 is a mess
by kps on Monday November 28, 2016 @04:06PM
(#13058415)
If only. It's possible to have two (32-bit) ARM processors with no instructions in common.
[ Parent
| on HN ]
Wtf, really? As a machine learning developer with little interaction with low level stuff like mobile instruction sets, that sounds like pure madness.
It's a bit misleading: he's referring to the Cortex-M series of ARM microcontroller cores, which do not implement the core ARM instruction set but instead only implement the Thumb series of alternate instruction sets that are optimized for code density. There are older ARM cores that pre-date Thumb and only have the core ARM instruction set, but there would never be a situation where you'd want to take binaries compiled for one of those devices and run them on one of the microcontroller cores.
There are however, plenty of other variables across the ARM ecosystem that can cause real headaches, like the different versions of the VFP floating point co-processor.
Citation needed.
AFAIK, ARMv7 in user/system mode is backwards compatible with ARMv5 at-least. Even AARCH32 claims so.
As wtallis said: Cortex-M executes only Thumb instructions, while pre-ARM7TDMI don't execute Thumb instructions.
Cortex-A, Cortex-M, Cortex-R have different targets, ISA, System organization as far back as their origination. Not sure why you'd compare them, I was obviously talking about processors within the same segment, Cortex-R7 is backwards compatible with previous versions, Cortex-A72 is backwards compatible with previous versions, Cortex-M3 is backwards compatible with previous versions.