48 lines · 1.2 KB · Shell
RawDownload
#!/bin/bash# Check Arm64 callgraphs are complete in fp mode# SPDX-License-Identifier: GPL-2.0 shelldir=$(dirname "$0")# shellcheck source=lib/perf_has_symbol.sh. "${shelldir}"/lib/perf_has_symbol.sh if [ "$(uname -m)" != "aarch64" ]; then	exit 2fi if perf version --build-options | grep HAVE_DWARF_UNWIND_SUPPORT | grep -q OFFthen  echo "Skipping, no dwarf unwind support"  exit 2fi skip_test_missing_symbol leafloop PERF_DATA=$(mktemp /tmp/__perf_test.perf.data.XXXXX)TEST_PROGRAM="perf test -w leafloop" cleanup_files(){	rm -f "$PERF_DATA"} trap cleanup_files EXIT TERM INT # shellcheck disable=SC2086perf record -o "$PERF_DATA" --call-graph fp -e cycles//u --user-callchains -- $TEST_PROGRAM # Try opening the file so any immediate errors are visible in the logperf script -i "$PERF_DATA" -F comm,ip,sym | head -n4 # expected perf-script output if 'leaf' has been inserted correctly:## perf# 	728 leaf# 	753 parent# 	76c leafloop# ... remaining stack to main() ... # Each frame is separated by a tab, some spaces and an addressSEP="[[:space:]]+ [[:xdigit:]]+"perf script -i "$PERF_DATA" -F comm,ip,sym | tr '\n' ' ' | \	grep -E -q "perf $SEP leaf $SEP parent $SEP leafloop"

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t