intel: tools: dump: make dump tool reliable under gdb

The problem with passing the configuration of the dump lib through a
file descriptor is that it can be read only once. But under gdb you
might want to rerun your program multiple times.

This change hands the configuration through a temporary file that is
deleted once the command line passes to intel_dump_gpu has exited.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com>
This commit is contained in:
Lionel Landwerlin 2018-07-20 11:18:18 +01:00
parent 1efc9094e0
commit 2a9069eb97
2 changed files with 9 additions and 4 deletions

View file

@ -349,7 +349,7 @@ maybe_init(void)
initialized = true;
config = fdopen(3, "r");
config = fopen(getenv("INTEL_DUMP_GPU_CONFIG"), "r");
while (fscanf(config, "%m[^=]=%m[^\n]\n", &key, &value) != EOF) {
if (!strcmp(key, "verbose")) {
if (!strcmp(value, "1")) {

View file

@ -82,7 +82,12 @@ done
[ -z $file ] && add_arg "file=intel.aub"
tmp_file=`mktemp`
echo -e $args > $tmp_file
LD_PRELOAD="@install_libexecdir@/libintel_dump_gpu.so${LD_PPRELOAD:+:$LD_PRELOAD}" \
exec -- "$@" 3<<EOF
`echo -e $args`
EOF
INTEL_DUMP_GPU_CONFIG=$tmp_file \
$@
ret=$?
rm $tmp_file
exit $ret