site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Dean Reece writes:
The way this all works, any symbol which is imported by a fake kext is also exported by it, but it may be exported under a different name. So, if you see the symbol you want in a fake kext, then you know it is available, but possibly under a different name. There presently isn't an easy way to determine what the export name is without examining the .exports files in the kernel project (xnu).
I think there must be some way to do it, but it wouldn't be easy. After all, kextload manages to figure it out, somehow. I suppose it would be just a matter of slogging through the kextload code path, looking to see who (kernel, userspace) finds the symbols and writing a tool based on that info..
The good news is that this symbol renaming is very rarely done - it is primarily used so that we can provide two versions of the same function in the kernel, say foo_v1() and foo_v2(), which then both get exported as foo() in the appropriately versioned pseduo-kexts. In most cases where you would encounter the renaming, you'd still find the symbol you were looking for, but with a suffix.
Ah, backwards compat wrappers. Very cool. Thanks for the info, Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com