由于链接错误__antimain和__realmain,未加载内核扩展

时间:2019-03-25 08:00:27

标签: xcode macos-mojave kernel-extension

我有一个用Xcode 9.4.1编译的内核扩展(kext),它工作正常。因此,我能够在HighSierra计算机上禁用SIP的情况下加载它。现在我更新到Mojave和Xcode。所以我用Xcode 10重新编译了它,效果很好。但是,当我像以前一样使用kextutuil加载kext时,但是在Mojave(已禁用SIP)上,由于链接错误而导致失败。我收到以下错误:

(kernel) Allocated link buffer for kext org.mydriver.kext at 0xffffff7f9753b000 (81920 bytes).
(kernel) kxld[org.mydriver.kext]: The following symbols are unresolved for this kext:
(kernel) kxld[org.mydriver.kext]:   __antimain
(kernel) kxld[org.mydriver.kext]:   __realmain
(kernel) Can't load kext org.mydriver.kext - link failed.
(kernel) Failed to load executable for kext org.mydriver.kext.
(kernel) Kext org.mydriver.kext failed to load (0xdc008016).
(kernel) Failed to load kext org.mydriver.kext (error 0xdc008016).
(kernel) Kext org.mydriver.kext removing all personalities naming it from the IOCatalogue.
Kernel error handling kext request - (libkern/kext) link error.
Failed to load /tmp/mydriver.kext - (libkern/kext) link error.
Failed to load /tmp/mydriver.kext - (libkern/kext) link error.

注意:必须禁用SIP,因为我只需要将其加载到测试计算机上即可。是否有人暗示或知道要进行调整以使其加载?

0 个答案:

没有答案