Files
linux-kernel-module-cheat/trace2line
Ciro Santilli 7452d39929 gem5 trace2line
2018-04-25 17:59:22 +01:00

28 lines
599 B
Bash
Executable File

#!/usr/bin/env bash
set -eu
. common
set -- ${cli_trace2line:-} "$@"
while getopts a:g OPT; do
case "$OPT" in
a)
arch="$OPTARG"
;;
g)
gem5=true
;;
esac
done
set_common_vars "$arch" "$gem5"
kernel_dir="${build_dir}/linux-custom"
(
if "$gem5"; then
sed -r 's/^.* (0x[^. ]*)[. ].*/\1/' "$common_trace_txt_file"
else
sed -r 's/.*pc=//' "$common_trace_txt_file"
fi
) | \
xargs "${host_dir}/bin/${arch}-linux-addr2line" -e "${kernel_dir}/vmlinux" -fp | \
sed -E "s|at ${kernel_dir}/(\./\|)||" | \
uniq -c \
> "${common_out_run_dir}/trace-lines.txt"