aboutsummaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorJohn Polstra <jdp@FreeBSD.org>1998-08-08 17:48:26 +0000
committerJohn Polstra <jdp@FreeBSD.org>1998-08-08 17:48:26 +0000
commit43ab5f387738dff8a65a1d15d764b7fc18447f89 (patch)
treedbdfccee6242b50f041daacb80fe02de80e159ae /usr.bin
parent4f24ba2fac5ea816d04085b5abcd0a17b3c65a1a (diff)
downloadsrc-43ab5f387738dff8a65a1d15d764b7fc18447f89.tar.gz
src-43ab5f387738dff8a65a1d15d764b7fc18447f89.zip
Don't ignore symbols containing "$". C++ destructors and other
special functions have names containing dollar signs, and ignoring them causes gprof to produce incorrect and sometimes bizarre results. The comment in the original code said that dollar signs were excluded because they are used in Pascal labels. That's not much of an issue these days.
Notes
Notes: svn path=/head/; revision=38194
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/gprof/gprof.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/usr.bin/gprof/gprof.c b/usr.bin/gprof/gprof.c
index 6ad996293ff9..185e2c620b6e 100644
--- a/usr.bin/gprof/gprof.c
+++ b/usr.bin/gprof/gprof.c
@@ -42,7 +42,7 @@ static const char copyright[] =
static char sccsid[] = "@(#)gprof.c 8.1 (Berkeley) 6/6/93";
#endif
static const char rcsid[] =
- "$Id: gprof.c,v 1.5 1997/07/10 06:45:00 charnier Exp $";
+ "$Id: gprof.c,v 1.6 1997/07/15 08:04:40 charnier Exp $";
#endif /* not lint */
#include <err.h>
@@ -728,8 +728,7 @@ funcsymbol( nlistp )
/*
* name must start with an underscore if uflag is set.
* can't have any `funny' characters in name,
- * where `funny' includes `.', .o file names
- * and `$', pascal labels.
+ * where `funny' means `.' (.o file names)
* need to make an exception for sparc .mul & co.
* perhaps we should just drop this code entirely...
*/
@@ -747,7 +746,7 @@ funcsymbol( nlistp )
}
#endif
while ( c = *name++ ) {
- if ( c == '.' || c == '$' ) {
+ if ( c == '.' ) {
return FALSE;
}
}