- Joined
- Feb 21, 2013
- Messages
- 38
- Motherboard
- Samsung RC530-S01
- CPU
- Core i7 2630QM
- Graphics
- Intel HD Graphics 3000
- Mobile Phone
@ydeng, @RehabMan, guys, do you know how does kxld work internally?
My problem is that I get the error
when I try to use IO80211Controller in IntelWifi. I use absolutely the same headers that I used in black80211. All necessary methods are implemented. black80211 loads fine, IntelWifi - doesn't load because of errors.
First I thought that the problem is related with my IwlTransOps interface that I implement in IntelWifi, but if I do the same in black80211 - it works, but IntelWifi doesn't work.
I've also tried to cleanup IntelWifi so that it will contain identical overrides of methods that I override in black80211 - still no joy.
I've digged a bit into kxld sources in xnu and found where the error occurs: https://github.com/clemensg/xnu/blo...5f642613f2da7/libkern/kxld/kxld_vtable.c#L548
Comment is the following:
While I understand how the error is defined, I don't get why I get error in first case (IntelWifi) and don't get it in second (black80211) having identical system, headers and dependencies in Info.plist.
My problem is that I get the error
Code:
(kernel) kxld[net.rpeshkov.IntelWifi]: The super class vtable '__ZTV17IO80211Controller' for vtable '__ZTV9IntelWifi' is out of date. Make sure your kext has been built against the correct headers.
First I thought that the problem is related with my IwlTransOps interface that I implement in IntelWifi, but if I do the same in black80211 - it works, but IntelWifi doesn't work.
I've also tried to cleanup IntelWifi so that it will contain identical overrides of methods that I override in black80211 - still no joy.
I've digged a bit into kxld sources in xnu and found where the error occurs: https://github.com/clemensg/xnu/blo...5f642613f2da7/libkern/kxld/kxld_vtable.c#L548
Comment is the following:
Code:
/* 4) If the parent vtable entry is a pad slot, and the child does not
* match it, then the child was built against a newer version of the
* libraries, so it is binary-incompatible.
*/
While I understand how the error is defined, I don't get why I get error in first case (IntelWifi) and don't get it in second (black80211) having identical system, headers and dependencies in Info.plist.