#!/usr/bin/env bash set -eu . common usage="$0 []" arch='x86_64' gem5=false while getopts a:gh OPT; do case "$OPT" in a) arch="$OPTARG" ;; g) gem5=true ;; h) echo "$usage" exit 0 ;; esac done shift "$(($OPTIND - 1))" executable_rel="$1" shift if [ "$#" -gt 0 ]; then brk="'$1'" shift else brk='' fi set_common_vars "$arch" "$gem5" executable="${out_dir}/build/${executable_rel}" readelf="${out_dir}/host/usr/bin/${arch}-linux-readelf" addr="$("$readelf" -h "$executable" | awk '/Entry/{ print $NF }' )" ex="-ex \"add-symbol-file $executable $addr\"" # Twice because lx-symbols overrides our add-symbol-file commands. cmd="./rungdb -b '$ex' -A '$ex' $brk" echo "$cmd" eval "$cmd"