In C++, identical functions included in multiple CUs will get merged at link time into a single instance. Thus the debuginfo will reference that location multiple times, but we only want to probe it once. Commit 857bdfd already deals with this for normal function instances, but the same problem exists for inline instances within those functions. $ stap -l 'process("/usr/bin/stap").function("_M_rep").inline' -vv 2>&1 \ | grep -o pc=.* | sort | uniq -c | sort | tail -n5 7 pc=0xc0216 8 pc=0x21e19 8 pc=0x21e1c 9 pc=0x4b726 9 pc=0x4b7c6 The same entrypc-dupe check isn't quite enough though, because it's quite possible for multiple distinct inlines to share the same entrypc. For example, if inline foo first calls inline bar, then they could flatten out to have the same starting point. I think it will need to be a tuple of (pc, name, file, line) that is checked for dupes.
commit 7fdd3e2c