|
@@ -22,10 +22,23 @@ trace_libc_inet_pton_backtrace() {
|
|
|
expected[4]="rtt min.*"
|
|
|
expected[5]="[0-9]+\.[0-9]+[[:space:]]+probe_libc:inet_pton:\([[:xdigit:]]+\)"
|
|
|
expected[6]=".*inet_pton[[:space:]]\($libc\)$"
|
|
|
- expected[7]="getaddrinfo[[:space:]]\($libc\)$"
|
|
|
- expected[8]=".*\(.*/bin/ping.*\)$"
|
|
|
-
|
|
|
- perf trace --no-syscalls -e probe_libc:inet_pton/max-stack=3/ ping -6 -c 1 ::1 2>&1 | grep -v ^$ | while read line ; do
|
|
|
+ case "$(uname -m)" in
|
|
|
+ s390x)
|
|
|
+ eventattr='call-graph=dwarf'
|
|
|
+ expected[7]="gaih_inet[[:space:]]\(inlined\)$"
|
|
|
+ expected[8]="__GI_getaddrinfo[[:space:]]\(inlined\)$"
|
|
|
+ expected[9]="main[[:space:]]\(.*/bin/ping.*\)$"
|
|
|
+ expected[10]="__libc_start_main[[:space:]]\($libc\)$"
|
|
|
+ expected[11]="_start[[:space:]]\(.*/bin/ping.*\)$"
|
|
|
+ ;;
|
|
|
+ *)
|
|
|
+ eventattr='max-stack=3'
|
|
|
+ expected[7]="getaddrinfo[[:space:]]\($libc\)$"
|
|
|
+ expected[8]=".*\(.*/bin/ping.*\)$"
|
|
|
+ ;;
|
|
|
+ esac
|
|
|
+
|
|
|
+ perf trace --no-syscalls -e probe_libc:inet_pton/$eventattr/ ping -6 -c 1 ::1 2>&1 | grep -v ^$ | while read line ; do
|
|
|
echo $line
|
|
|
echo "$line" | egrep -q "${expected[$idx]}"
|
|
|
if [ $? -ne 0 ] ; then
|
|
@@ -33,7 +46,7 @@ trace_libc_inet_pton_backtrace() {
|
|
|
exit 1
|
|
|
fi
|
|
|
let idx+=1
|
|
|
- [ $idx -eq 9 ] && break
|
|
|
+ [ -z "${expected[$idx]}" ] && break
|
|
|
done
|
|
|
}
|
|
|
|