Masami Hiramatsu a9ffd0484e perf probe: Change function definition check due to broken DWARF
Since some gcc generates a broken DWARF which lacks DW_AT_declaration
attribute from the subprogram DIE of function prototype.
(https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97060)

So, in addition to the DW_AT_declaration check, we also check the
subprogram DIE has DW_AT_inline or actual entry pc.

Committer testing:

  # cat /etc/fedora-release
  Fedora release 33 (Thirty Three)
  #

Before:

  # perf test vfs_getname
  78: Use vfs_getname probe to get syscall args filenames             : FAILED!
  79: Check open filename arg using perf trace + vfs_getname          : FAILED!
  81: Add vfs_getname probe to get syscall args filenames             : FAILED!
  #

After:

  # perf test vfs_getname
  78: Use vfs_getname probe to get syscall args filenames             : Ok
  79: Check open filename arg using perf trace + vfs_getname          : Ok
  81: Add vfs_getname probe to get syscall args filenames             : Ok
  #

Reported-by: Thomas Richter <tmricht@linux.ibm.com>
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Sumanth Korikkar <sumanthk@linux.ibm.com>
Link: http://lore.kernel.org/lkml/160645613571.2824037.7441351537890235895.stgit@devnote2
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2020-11-27 14:36:15 -03:00
..
2020-01-14 12:02:19 -03:00
2019-02-19 16:11:56 -03:00
2019-02-19 16:11:56 -03:00
2020-10-14 13:34:26 -03:00
2020-10-14 13:34:26 -03:00
2020-04-03 09:37:55 -03:00
2020-06-22 16:28:09 -03:00
2020-07-30 07:01:49 -03:00
2019-01-25 15:12:09 +01:00
2020-09-28 09:07:08 -03:00
2020-10-14 13:34:26 -03:00
2020-10-14 13:34:26 -03:00
2020-04-18 09:05:01 -03:00
2020-04-18 09:05:01 -03:00