[Bug translator/25193] Incorrect reporting of line information for stap -v -L 'process("/usr/bin/ld.gold").statement("*@*:*")'
wcohen at redhat dot com
sourceware-bugzilla@sourceware.org
Fri May 15 18:32:06 GMT 2020
https://sourceware.org/bugzilla/show_bug.cgi?id=25193
--- Comment #3 from William Cohen <wcohen at redhat dot com> ---
Here is what happening:
1) dwflpp.cxx template iterate_over_srcfile_lines focuses on individual srcfile
it uses collect_all_lines (dwflpp.cxx:1914) to generate a vector of the
addresses (variable matching_lines). The elements of matching_lines includes
information about the file, line, column
2) However, the loop dwflpp.cxx:1972 doesn't pass that file information.
3) Instead tapsets.cxx query_srcfile_line tries to infer/regenerate it from the
address by seeing if the address are contained in any of the elements of bfis.
4) query_srcfile_line mis-matches as the criteria ends up being whether the
address is contained within the items returned by q->filtered_all() rather than
the function/line/source file match up.
5) The lineno passed into query_srcfile_line() is paired with unrelated
functions and file names as observed in the example causing the reproducer to
list lines that do not exist in reality.
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the Systemtap
mailing list