Bug 25972 - stap -v -L misses probe points
Summary: stap -v -L misses probe points
Status: NEW
Alias: None
Product: systemtap
Classification: Unclassified
Component: translator (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-11 15:32 UTC by William Cohen
Modified: 2020-05-11 15:32 UTC (History)
0 users

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments
Reproducer for stap missing statement lines (125 bytes, text/x-c++src)
2020-05-11 15:32 UTC, William Cohen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description William Cohen 2020-05-11 15:32:03 UTC
Created attachment 12525 [details]
Reproducer for stap missing statement lines

When debugging pr25549 I noticed that there were some cases where it appeared systemtap missed listing lines for instruction that had multiple debuginfo views for the same instruction.  this can be replicated on fedora 32 with the

$ rpm -q gcc systemtap elfutils
gcc-10.1.1-1.fc32.x86_64
systemtap-4.3-0.20200211git91ffb97ad335.fc32.x86_64
elfutils-0.179-2.fc32pr25549.x86_64
$ gcc -O2 -g pr25549b.cxx -o pr25549b
$ stap -v -L 'process("./pr25549b").statement("*@*:*")'
Pass 1: parsed user script and 502 library scripts using 442584virt/211916res/12772shr/199236data kb, in 450usr/70sys/554real ms.
process("/home/wcohen/pr25549b").statement("main@/home/wcohen/pr25549b.cxx:10") /* pc=.absolute+0x1040 */ $argc:int $argv:char**
process("/home/wcohen/pr25549b").statement("main@/home/wcohen/pr25549b.cxx:12") /* pc=.absolute+0x104e */ $argc:int $argv:char**
Pass 2: analyzed script: 2 probes, 0 functions, 0 embeds, 0 globals using 451284virt/222188res/13700shr/207936data kb, in 60usr/0sys/69real ms.

However, there are multiple views for the instructions:

$ readelf --debug-dump=decodedline pr25549b
Contents of the .debug_line section:

CU: pr25549b.cxx:
File name                            Line number    Starting address    View    Stmt
pr25549b.cxx                                  10            0x401040               x
pr25549b.cxx                                  11            0x401040       1       x
pr25549b.cxx                                   3            0x401040       2       x
pr25549b.cxx                                   5            0x401040       3       x
pr25549b.cxx                                  10            0x401040       4
pr25549b.cxx                                   5            0x401044        
pr25549b.cxx                                   5            0x401049        
pr25549b.cxx                                   6            0x40104e               x
pr25549b.cxx                                  12            0x40104e       1       x
pr25549b.cxx                                  13            0x40104e       2
pr25549b.cxx                                  13            0x401055        


gdb allows setting breakpoints at those alternative view for the instructions.  I would expect that systemtap would also allow probe points at those points.