site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com % find /System/Library/Extensions/System.kext/PlugIns \ -type f -a ! -name "*.plist" | xargs nm | grep physio Sam On Fri, 8 Apr 2005, Andrew Gallatin <gallatin@cs.duke.edu> wrote: I there a tool to get a list of all the symbols that each of the loaded kernel extensions are exporting on a given system? Thanks, ("`-''-/").___..--''"`-._ Sam Vaughan `6_ 6 ) `-. ( ).`-.__.`) (_Y_.)' ._ ) `._ `. ``-..-' samvaughan@mac.com _..`--'_..-_/ /--'_.' ,' __________________________(il),-'' (li),' ((!.-' _______________________________________________ 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... When you build an xnu kernel, the .exports files in xnu/config/ are used to create the fake symbols in System.kext. If you add symbols to a debug kernel that you want to access from within your kext, you need to add them to the appropriate .exports file(s), otherwise kextload will fail. You also can't assume that just because a symbol is in /mach_kernel, it'll be listed in System.kext and available to you. I usually run the following grep over the binaries in System.kext to determine if I'll be able to use a particular kernel symbol from inside a kext. In this example, the function physio(): Background: I'm sitting at a shell prompt, trying to kextload an older kext on a newer system. A symbol required for the kext, call it "foo", which used to be resolved by the dependancies listed in the kext's Info.plist in an older version of MacOSX no longer seems to be found by kextload. I know the symbols is still there, as nm /mach_kernel shows it. Ideally, I'll be able to update Info.plist with vi and go on my merry way.. Drew This email sent to site_archiver@lists.apple.com