summaryrefslogtreecommitdiffstats
path: root/usr.bin/gprof/elf.c
diff options
context:
space:
mode:
authordt <dt@FreeBSD.org>1999-07-03 12:30:04 +0000
committerdt <dt@FreeBSD.org>1999-07-03 12:30:04 +0000
commit70ccb43727168afa1934c8dd3d7b811a4257e883 (patch)
tree0c4397818a2cc5582ad142fc6b2edb46d0df627e /usr.bin/gprof/elf.c
parent1e1f8ed63c98dbcbe18ab06b77393f4bfdfc3b09 (diff)
downloadFreeBSD-src-70ccb43727168afa1934c8dd3d7b811a4257e883.zip
FreeBSD-src-70ccb43727168afa1934c8dd3d7b811a4257e883.tar.gz
Don't ignore weak symbols.
EGCS assign weak symbols to inline functions it couldn't inline (e.g. virtual inline functions), template functions, etc. Omitting them result in quite bogus profile. Weak symbols created by __weak_reference are not really problem. Caught by: Ilya Segalovich <iseg@comptek.ru>
Diffstat (limited to 'usr.bin/gprof/elf.c')
-rw-r--r--usr.bin/gprof/elf.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/usr.bin/gprof/elf.c b/usr.bin/gprof/elf.c
index 3a59f53..359d76e 100644
--- a/usr.bin/gprof/elf.c
+++ b/usr.bin/gprof/elf.c
@@ -97,7 +97,6 @@ wantsym(const Elf_Sym *sym, const char *strtab)
bind = ELF_ST_BIND(sym->st_info);
if (type != STT_FUNC ||
- bind == STB_WEAK ||
(aflag && bind == STB_LOCAL) ||
(uflag && strchr(strtab + sym->st_name, '.') != NULL))
return 0;
OpenPOWER on IntegriCloud