Fix perf test probe libc's inet_pton on x86_64

Message ID 20230503081255.3372986-1-tmricht@linux.ibm.com
State New
Headers
Series Fix perf test probe libc's inet_pton on x86_64 |

Commit Message

Thomas Richter May 3, 2023, 8:12 a.m. UTC
  The test case probe libc's inet_pton & backtrace it with ping
fails with Fedora 38 on x86_64.

Function getaddrinfo() does not show up in the call chain anymore:
 # ./perf script
 ping  1803 [000] 728.567146: probe_libc:inet_pton: (7f5275afc840)
           133840 __GI___inet_pton+0x0 (/usr/lib64/libc.so.6)
            27b4a __libc_start_call_main+0x7a (/usr/lib64/libc.so.6)
            27c0b __libc_start_main@@GLIBC_2.34+0x8b (/usr/lib64/libc.so.6)

 ping  1803 [000]   728.567184: probe_libc:inet_pton: (7f5275afc840)
           133840 __GI___inet_pton+0x0 (/usr/lib64/libc.so.6)
             493e main+0xcde (/usr/bin/ping)
            27b4a __libc_start_call_main+0x7a (/usr/lib64/libc.so.6)

 #
which causes the test case to fail. Remove function getaddrinfo()
from list of expected functions.

Output before:
 # ./perf test 'libc'
 91: probe libc's inet_pton & backtrace it with ping    : FAILED!
 #

Output after:
 # ./perf test 'libc'
 91: probe libc's inet_pton & backtrace it with ping    : Ok
 #

Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
---
 tools/perf/tests/shell/record+probe_libc_inet_pton.sh | 1 -
 1 file changed, 1 deletion(-)
  

Comments

Arnaldo Carvalho de Melo May 3, 2023, 2:15 p.m. UTC | #1
Em Wed, May 03, 2023 at 10:12:55AM +0200, Thomas Richter escreveu:
> The test case probe libc's inet_pton & backtrace it with ping
> fails with Fedora 38 on x86_64.
> 
> Function getaddrinfo() does not show up in the call chain anymore:
>  # ./perf script
>  ping  1803 [000] 728.567146: probe_libc:inet_pton: (7f5275afc840)
>            133840 __GI___inet_pton+0x0 (/usr/lib64/libc.so.6)
>             27b4a __libc_start_call_main+0x7a (/usr/lib64/libc.so.6)
>             27c0b __libc_start_main@@GLIBC_2.34+0x8b (/usr/lib64/libc.so.6)
> 
>  ping  1803 [000]   728.567184: probe_libc:inet_pton: (7f5275afc840)
>            133840 __GI___inet_pton+0x0 (/usr/lib64/libc.so.6)
>              493e main+0xcde (/usr/bin/ping)
>             27b4a __libc_start_call_main+0x7a (/usr/lib64/libc.so.6)
> 
>  #
> which causes the test case to fail. Remove function getaddrinfo()
> from list of expected functions.
> 
> Output before:
>  # ./perf test 'libc'
>  91: probe libc's inet_pton & backtrace it with ping    : FAILED!
>  #
> 
> Output after:
>  # ./perf test 'libc'
>  91: probe libc's inet_pton & backtrace it with ping    : Ok
>  #

Thanks, tested and applied.

- Arnaldo
 
> Signed-off-by: Thomas Richter <tmricht@linux.ibm.com>
> ---
>  tools/perf/tests/shell/record+probe_libc_inet_pton.sh | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> index b4149b2db4c6..8d5915d3ad6f 100755
> --- a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> +++ b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
> @@ -51,7 +51,6 @@ trace_libc_inet_pton_backtrace() {
>  		;;
>  	*)
>  		eventattr='max-stack=3'
> -		echo "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$" >> $expected
>  		echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
>  		;;
>  	esac
> -- 
> 2.40.1
  

Patch

diff --git a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
index b4149b2db4c6..8d5915d3ad6f 100755
--- a/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
+++ b/tools/perf/tests/shell/record+probe_libc_inet_pton.sh
@@ -51,7 +51,6 @@  trace_libc_inet_pton_backtrace() {
 		;;
 	*)
 		eventattr='max-stack=3'
-		echo "getaddrinfo\+0x[[:xdigit:]]+[[:space:]]\($libc\)$" >> $expected
 		echo ".*(\+0x[[:xdigit:]]+|\[unknown\])[[:space:]]\(.*/bin/ping.*\)$" >> $expected
 		;;
 	esac