Hi,
I am trying to use a
spinlock in my kext and am having problems with loading it. I am calling the
initialization functions and using lck_spin_lock() and lck_spin_unlock(). Here
is the error message:
kextload: resolving
dependencies for kernel extensions with validation and authentication failures
kextload: extension
/System/Library/Extensions/MyKext.kext/ appears to be loadable
kextload: loading extension
/System/Library/Extensions/MyKext.kext/
kld(): Undefined symbols:
_lck_attr_alloc_init
_lck_attr_free
_lck_grp_alloc_init
_lck_grp_attr_alloc_init
_lck_grp_attr_free
_lck_grp_attr_setstat
_lck_grp_free
_lck_spin_alloc_init
_lck_spin_free
_lck_spin_lock
_lck_spin_unlock
kextload:
kld_load_from_memory() failed for module /System/Library/Extensions/MyKext.kext/Contents/MacOS/MyKext
kextload: a link/load error
occured for kernel extension /System/Library/Extensions/MyKext.kext/
However, I am able to find
these symbols when doing the command nm /mach_kernel | less.
I am also including
kernel.frameworks in my project.
Any ideas what's wrong?
Thanks.