#!/usr/bin/env bash set -eu . "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/common" set -- ${cli_trace2line:-} "$@" while getopts a:g OPT; do case "$OPT" in a) common_arch="$OPTARG" ;; g) common_gem5=true ;; esac done common_setup kernel_dir="${common_build_dir}/linux-custom" ( if "$common_gem5"; then sed -r 's/^.* (0x[^. ]*)[. ].*/\1/' "$common_trace_txt_file" else sed -r 's/.*pc=//' "$common_trace_txt_file" fi ) | \ xargs "${common_host_dir}/bin/${common_arch}-linux-addr2line" -e "${common_vmlinux}" -fp | \ sed -E "s|at ${kernel_dir}/(\./\|)||" | \ uniq -c \ > "${common_run_dir}/trace-lines.txt"