Hi,
I'm migrating a PCI driver from Panther (gcc 3.3) to Tiger. It links
fine, but on kextload gives a:
kld(): Undefined symbols
__ZN34someUserClientSubClass24registerNotificationPortEjmm
My exported symbols file previously (from Panther) contained:
__ZN34someUserClientSubClass24registerNotificationPortEP8ipc_portmm
which matches the parameters to System.kext/Plugins/IOKit.kext/IOKit:
__ZN12IOUserClient24registerNotificationPortEP8ipc_portmm
However, an nm -g on the object files in my build folder gives:
__ZN34someUserClientSubClass24registerNotificationPortEjmm
Does anybody know why the symbols of my IOUserClient sub-class would
start having an Ejmm post-fix rather than the expected ipc_portmm
postfix which would match the symbols in the Tiger kernel?
(
- Re-building with either gcc 3.3 or 4.0 doesn't seem to make a
difference.
- The signature of my sub-class member function matches that of
IOUserClient:
virtual IOReturn registerNotificationPort(mach_port_t port, UInt32
type, UInt32 refCon );
- If I remove the exported symbols file, the kext loads, despite the
mismatched parameters in the registerNotificationPort name...
)
Thanks in advance for any ideas,
Rob.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/darwin-drivers/email@hidden
This email sent to email@hidden