| #!/bin/sh |
| # Exit if anything fails |
| set -e |
| |
| # Prefer rustc in the same directory as this script |
| DIR="$(dirname "$0")" |
| if [ -x "$DIR/rustc" ]; then |
| RUSTC="$DIR/rustc" |
| else |
| RUSTC="rustc" |
| fi |
| |
| # Find out where the pretty printer Python module is |
| RUSTC_SYSROOT="$("$RUSTC" --print=sysroot)" |
| GDB_PYTHON_MODULE_DIRECTORY="$RUSTC_SYSROOT/lib/rustlib/etc" |
| |
| # Run GDB with the additional arguments that load the pretty printers |
| # Set the environment variable `RUST_GDB` to overwrite the call to a |
| # different/specific command (defaults to `gdb`). |
| RUST_GDB="${RUST_GDB:-gdb}" |
| PYTHONPATH="$PYTHONPATH:$GDB_PYTHON_MODULE_DIRECTORY" exec ${RUST_GDB} \ |
| --directory="$GDB_PYTHON_MODULE_DIRECTORY" \ |
| -iex "add-auto-load-safe-path $GDB_PYTHON_MODULE_DIRECTORY" \ |
| "$@" |