Re: Kernel Symbol Clarification
site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com Garth Cummings writes:
Hi Duane,
On Jul 18, 2007, at 8:43 AM, Duane Murphy wrote:
I wanted to make sure I understood how symbols interact in kext's. If I use a generally available library and another kext also uses that library, will those symbols interact with each other when the kext are loaded? That is it possible that my kext will accidentally link to the symbols in the other kext using a the same library?
Not sure what you mean by "interact", but I'll take a stab at answering the question I think you're asking.
The kernel is one big monolithic namespace. All symbols in KEXTs must be unique across the system as they are linked into that one namespace. If a KEXT defines a symbol that already exists, the KEXT will not load.
Are you really sure about this? I thought the relocations were done by kextload in userspace, and the only namespaces that are shared are those of your kext and what it depends on. If there is truely a master list of all loaded symbols and their locations, can it be accessed for debugging purposes rather than using kextload -s and add-symbol-file? Drew _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... This email sent to site_archiver@lists.apple.com
participants (1)
-
Andrew Gallatin