* [PATCH 2.6.27-rc1-git5 23/26] mdb: add kallsyms fixes for duplicate names
@ 2008-08-05 6:26 jmerkey
0 siblings, 0 replies; only message in thread
From: jmerkey @ 2008-08-05 6:26 UTC (permalink / raw)
To: linux-kernel
Centralized external definitions into include files and corrected
the file to conform to Linux coding practices. fixed word wrap
problems with patches.
add the ability to call through kallsyms and output strstr() matches
for name searches, since modules can have functions that share identical
names with the kernel functions.
Signed-off-by: Jeffrey Vernon Merkey (jmerkey@wolfmountaingroup.com)
--- a/kernel/kallsyms.c 2008-08-04 15:53:44.000000000 -0600
+++ b/kernel/kallsyms.c 2008-08-04 15:49:51.000000000 -0600
@@ -477,5 +477,48 @@
}
__initcall(kallsyms_init);
+#ifdef CONFIG_MDB
+struct kallsym_iter mdb_iter;
+int mdb_kallsyms(char *str, int (*print)(char *s, ...))
+{
+ register loff_t pos = 0;
+ register struct kallsym_iter *iter = &mdb_iter;
+
+ if (!print)
+ return 0;
+
+ // set to beginning of the kallsyms list
+ reset_iter(iter, 0);
+ while (1)
+ {
+ // search the kallsyms list
+ if (!update_iter(iter, pos++))
+ break;
+
+ if (!iter->name[0])
+ continue;
+
+ // if an exclusion search was specified, skip non-matching entries
+ if (str && *str && !strstr(iter->name, str))
+ continue;
+
+ if (iter->module_name[0])
+ {
+ if (print("%0*lx %c %s [%s]\n", (int)(2*sizeof(void*)),
+ iter->value, iter->type, iter->name,
+ iter->module_name))
+ return 1;
+ }
+ else
+ {
+ if (print("%0*lx %c %s\n", (int)(2*sizeof(void*)),
+ iter->value, iter->type, iter->name))
+ return 1;
+ }
+ }
+ return 0;
+}
+#endif
+
EXPORT_SYMBOL(__print_symbol);
EXPORT_SYMBOL_GPL(sprint_symbol);
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-08-05 7:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-05 6:26 [PATCH 2.6.27-rc1-git5 23/26] mdb: add kallsyms fixes for duplicate names jmerkey
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®