The kext is not an I/OKit kext.
Yes, it is an Xcode project.
On May 9, 2005, at 11:41 AM, Godfrey van der Linden wrote:
This means that there is something strange about your link line.
Are you using an xcode project?
Is the target listed as an I/OKit kext if appropriate.
Godfrey
On 05/09/2005, at 10:26 , Thane Heninger wrote:
Trying to build our kext in Tiger, we ran into a snag with
undefined symbols for ___cxa_guard_acquire and
___cxa_guard_release when we tried the kextload. Those symbols
couldn't be found in any source text for the build. Searching the
assembly code, we found the symbols as being near a line which
had a statically included class instantiation.
That is a construction such as:
void func(void)
{
...
static Class myClass;
...
}
Evidently the compiler generates these as a by-product of the
class instantiation.
By moving the class instantiation out of the function, into
global space, the symbols were not generated.
Also, the symbols weren't generated when we switched back to gcc
3.3 instead of the default 4.0.
Does this mean that we should be linking against something else,
in order to include static classes inside functions and gcc 4.0?
Does it mean that we shouldn't use static classes in that manner
in kext code?
Or does it mean that we should be using gcc 3.3 for our kexts?
Thanks,
Thane Heninger
Iomega
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
40apple.com
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-drivers mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden