Open Detrous opened 4 years ago
@Weddin maybe you can help ?
I'm trying to compile on macOS Catalina 10.15.2 with Xcode 11.3. With two minor changes to the code, and updated OSBundleLibraries (Target Settings > Info panel (aka the Info.plist), I can get the kext to compile. However, it will not load due to missing symbols
# kextlibs -undef-symbols IntelWifi.kext
For all architectures:
com.apple.iokit.IO80211Family = 1200.12.2b1
com.apple.iokit.IO80211FamilyV2 = 1200.12.2b1
com.apple.iokit.IONetworkingFamily = 3.4
com.apple.iokit.IOPCIFamily = 2.9
com.apple.kpi.bsd = 19.2
com.apple.kpi.iokit = 19.2
com.apple.kpi.libkern = 19.2
com.apple.kpi.mach = 19.2
For x86_64: 4 symbols not found in any library kext: ZN19IONetworkController29_RESERVEDIONetworkController5Ev __ZN19IONetworkController29_RESERVEDIONetworkController4Ev ZN19IONetworkController29_RESERVEDIONetworkController3Ev __ZN19IONetworkController29_RESERVEDIONetworkController2Ev Multiple symbols found among 1 libraries: com.apple.iokit.IO80211FamilyV2
Cleaning it up with c++filt shows # echo __ZN19IONetworkController29_RESERVEDIONetworkController5Ev | c++filt IONetworkController::_RESERVEDIONetworkController5()
I've tried installing the 10.12 SDK, and setting the SDK Root and Development target to 10.12 appropriately. Whilst it will compile the kext won't load either when linking to the kernel (which I why I amended to use 10.15...)
I cannot figure out what's missing so that the missing symbols will resolve
Let me know if I can help further....
P.S.
Other functions resolve successfully into /System/Library/Extensions/IONetworkingFamily.kext (3.4)
e.g. # nm /System/Library/Extensions/IONetworkingFamily.kext/Contents/MacOS/IONetworkingFamily | grep ZN19IONetworkController29_ 00000000000080ce T __ZN19IONetworkController29_RESERVEDIONetworkController6Ev 00000000000080e4 T ZN19IONetworkController29_RESERVEDIONetworkController7Ev 00000000000080fa T __ZN19IONetworkController29_RESERVEDIONetworkController8Ev 0000000000008110 T __ZN19IONetworkController29_RESERVEDIONetworkController9Ev
sudo kextutil IntelWifi.kext Password: Kext with invalid signature (-67050) allowed: <OSKext 0x7fc7f0c2e590 [0x7fff87e65090]> { URL = "file:///Users/detrous/ha/IntelWifi/IntelWifi.kext/", ID = "net.rpeshkov.IntelWifi" } /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. Code Signing Failure: code signature is invalid Dependency Resolution Failures: Only incompatible kexts found for these libraries: com.apple.iokit.IO80211Family
Diagnostics for /Users/detrous/ha/IntelWifi/IntelWifi.kext: Dependency Resolution Failures: Only incompatible kexts found for these libraries: com.apple.iokit.IO80211Family