Question

Are the macho headers located in /usr/lib/mach-o backward compatible to executables over different iOS versions 4,5,6 etc? If so, where can I get the specific versions of them. I tried searching on the Apple Darwin site but they don't maintain them as a separate project.

Was it helpful?

Solution

The header files are compatible, but the Mach-O files as of iOS 6 are not compatible, having replaced the LC_UNIXTHREAD load command with an LC_MAIN (as well as adding a few other load commands which are unrecognized by otool and friends in previous versions of the OS). This also applies for Mountain Lion binaries, which for the same reason cannot be executed on Lion or earlier.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top