diff options
Diffstat (limited to 'userspace/cuda/tools/ghidra_export_index.sh')
| -rwxr-xr-x | userspace/cuda/tools/ghidra_export_index.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/userspace/cuda/tools/ghidra_export_index.sh b/userspace/cuda/tools/ghidra_export_index.sh new file mode 100755 index 0000000..3709aae --- /dev/null +++ b/userspace/cuda/tools/ghidra_export_index.sh @@ -0,0 +1,27 @@ +#!/bin/bash +# SPDX-License-Identifier: BSD-3-Clause +# +# ghidra_export_index.sh - export the complete function/symbol/callgraph/ +# string index of an analyzed CUDA program. +# +# Usage: ghidra_export_index.sh <project_dir> <project_name> <program> <outdir> +set -euo pipefail + +HERE="$(cd "$(dirname "$0")" && pwd)" +GHIDRA_HOME="${GHIDRA_HOME:-/snap/ghidra/current/ghidra}" +ANALYZE="$GHIDRA_HOME/support/analyzeHeadless" +export GHIDRA_HEADLESS_MAXMEM="${GHIDRA_HEADLESS_MAXMEM:-12G}" + +PROJECT_DIR="${1:?usage: $0 <project_dir> <project_name> <program> <outdir>}" +PROJECT_NAME="${2:?}" +PROGRAM="${3:?}" +OUTDIR="${4:?}" +mkdir -p "$OUTDIR" + +"$ANALYZE" "$PROJECT_DIR" "$PROJECT_NAME" \ + -process "$PROGRAM" \ + -readOnly -noanalysis \ + -scriptPath "$HERE/ghidra" \ + -postScript ExportFunctionIndex.java "$OUTDIR" + +echo "[ok] index written to $OUTDIR" |
