Only read kernel symbols from /proc/kallsyms if no System.map has been read

This commit is contained in:
Joey Schulze 2007-05-31 14:52:20 +00:00
parent ade259a045
commit 017e328032
2 changed files with 10 additions and 1 deletions

2
ksym.c
View File

@ -132,7 +132,7 @@
#define VERBOSE_DEBUGGING 0
static int num_syms = 0;
int num_syms = 0;
static int i_am_paranoid = 0;
static char vstring[12];
static struct sym_table *sym_array = (struct sym_table *) 0;

View File

@ -92,6 +92,10 @@
* Mon May 28 16:46:59 CEST 2007: Martin Schulze <joey@infodrom.org>
* Since Linux 2.6 query_module is depricated and no implemented
* anymore. Thus, overhauled symbol import via /proc/kallsyms
*
* Thu May 31 12:12:23 CEST 2007: Martin Schulze <joey@infodrom.org>
* Only read kernel symbols from /proc/kallsyms if no System.map
* has been read as it may contain more symbols.
*/
@ -137,6 +141,8 @@ static int AddSymbol(const char *);
struct Module *AddModule(const char *);
static int symsort(const void *, const void *);
/* Imported from ksym.c */
extern int num_syms;
/**************************************************************************
* Function: InitMsyms
@ -188,6 +194,9 @@ extern int InitMsyms()
while ( fgets(buf, sizeof(buf), ksyms) != NULL )
{
if (num_syms > 0 && index(buf, '[') == NULL)
continue;
p = index(buf, ' ');
if ( p == NULL )