1b8e80941Smrg#!/bin/bash 2b8e80941Smrg# -*- mode: sh -*- 3b8e80941Smrg 4b8e80941Smrgfunction show_help() { 5b8e80941Smrg cat <<EOF 6b8e80941SmrgUsage: intel_sanitize_gpu [OPTION]... [--] COMMAND ARGUMENTS 7b8e80941Smrg 8b8e80941SmrgRun COMMAND with ARGUMENTS and verify the GPU doesn't write outside its memory 9b8e80941Smrgmapped buffers. 10b8e80941Smrg 11b8e80941Smrg -g, --gdb Launch GDB 12b8e80941Smrg 13b8e80941Smrg --help Display this help message and exit 14b8e80941Smrg 15b8e80941SmrgEOF 16b8e80941Smrg 17b8e80941Smrg exit 0 18b8e80941Smrg} 19b8e80941Smrg 20b8e80941Smrggdb="" 21b8e80941Smrg 22b8e80941Smrgwhile true; do 23b8e80941Smrg case "$1" in 24b8e80941Smrg --gdb) 25b8e80941Smrg gdb=1 26b8e80941Smrg shift 27b8e80941Smrg ;; 28b8e80941Smrg -g) 29b8e80941Smrg gdb=1 30b8e80941Smrg shift 31b8e80941Smrg ;; 32b8e80941Smrg --help) 33b8e80941Smrg show_help 34b8e80941Smrg ;; 35b8e80941Smrg --) 36b8e80941Smrg shift 37b8e80941Smrg break 38b8e80941Smrg ;; 39b8e80941Smrg -*) 40b8e80941Smrg echo "intel_sanitize_gpu: invalid option: $1" 41b8e80941Smrg echo 42b8e80941Smrg show_help 43b8e80941Smrg ;; 44b8e80941Smrg *) 45b8e80941Smrg break 46b8e80941Smrg ;; 47b8e80941Smrg esac 48b8e80941Smrgdone 49b8e80941Smrg 50b8e80941Smrg[ -z $1 ] && show_help 51b8e80941Smrg 52b8e80941Smrgld_preload="@install_libexecdir@/libintel_sanitize_gpu.so${LD_PRELOAD:+:$LD_PRELOAD}" 53b8e80941Smrgif [ -z $gdb ]; then 54b8e80941Smrg LD_PRELOAD=$ld_preload exec "$@" 55b8e80941Smrgelse 56b8e80941Smrg gdb -iex "set exec-wrapper env LD_PRELOAD=$ld_preload" --args $@ 57b8e80941Smrgfi 58