Module Name: src Committed By: matt Date: Tue Jan 4 01:40:19 UTC 2011
Modified Files: src/sys/kern: kern_ksyms.c Log Message: When determining max/min sym value, ignore ABS symbols which don't have a type. This stops ksym thinking that the _KERNEL_OPT symbols could actually be useful. To generate a diff of this commit: cvs rdiff -u -r1.61 -r1.62 src/sys/kern/kern_ksyms.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_ksyms.c diff -u src/sys/kern/kern_ksyms.c:1.61 src/sys/kern/kern_ksyms.c:1.62 --- src/sys/kern/kern_ksyms.c:1.61 Tue Jul 27 14:25:23 2010 +++ src/sys/kern/kern_ksyms.c Tue Jan 4 01:40:19 2011 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_ksyms.c,v 1.61 2010/07/27 14:25:23 jakllsch Exp $ */ +/* $NetBSD: kern_ksyms.c,v 1.62 2011/01/04 01:40:19 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -71,7 +71,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_ksyms.c,v 1.61 2010/07/27 14:25:23 jakllsch Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_ksyms.c,v 1.62 2011/01/04 01:40:19 matt Exp $"); #if defined(_KERNEL) && defined(_KERNEL_OPT) #include "opt_ddb.h" @@ -365,11 +365,14 @@ nglob += (ELF_ST_BIND(nsym[n].st_info) == STB_GLOBAL); /* Compute min and max symbols. */ - if (nsym[n].st_value < tab->sd_minsym) { - tab->sd_minsym = nsym[n].st_value; - } - if (nsym[n].st_value > tab->sd_maxsym) { - tab->sd_maxsym = nsym[n].st_value; + if (strcmp(str + sym[i].st_name, "*ABS*") != 0 + && ELF_ST_TYPE(nsym[n].st_info) != STT_NOTYPE) { + if (nsym[n].st_value < tab->sd_minsym) { + tab->sd_minsym = nsym[n].st_value; + } + if (nsym[n].st_value > tab->sd_maxsym) { + tab->sd_maxsym = nsym[n].st_value; + } } n++; }