Changes
Building: Kernel Extensions
- Kernel extensions (kexts) built with Xcode 4.6.1 and 4.6.2 fail to load on OS X 10.6 and 10.7, and this error message appears in the console:
kernel: kxld: The Mach-O file is malformed: Invalid segment type in MH_KEXT_BUNDLE kext: 42
To build kexts that load on OS X 10.6 and 10.7, on the targets that
build the kexts, set the OS X Deployment Target build setting to OS X
10.6. 13645170
Resolved Issues
General
- Implemented stability fixes. 13518419, 13518436, 13518436, 13518526, 13611415
New Issues
Code Signing: Kernel Extensions
- If you build code signed kexts on OS X 10.8.3 (you turn on code signing in the target that builds the kext), that kext fails to load on OS X 10.7.x and earlier, and this error message appears in the console:
kernel: kxld: The Mach-O file is malformed: Invalid segment type in MH_KEXT_BUNDLE kext: 29
Workarounds:- To build an unsigned kext that loads in OS X 10.7.x and earlier, in the target that builds the kext, set the Code Signing Identity build setting to Don’t Code Sign.If you need to build signed and unsigned versions of the kext, you can have in your project separate targets that build the same kext, one configured to code sign the kext and the other configured not to sign it.
- To build a signed kext that loads in OS X 10.7.x and earlier, code sign the kext on a Mac running OS X 10.8.2 or earlier. 13428950
Known Issues
Building
- When building a product previously built with Xcode 4.6.1 or earlier, the build fails with an error similar to this one:
PCH file built from a different branch ((clang-425.0.27)) than the compiler ((clang-425.0.28))
To address this issue, choose Product > Clean before building your product. 13663167
No comments:
Post a Comment