[Mesa-dev] [PATCH 1/2] intel: tools: dump: make dump tool reliable under gdb

Kenneth Graunke kenneth at whitecape.org
Fri Jul 20 18:47:04 UTC 2018


On Friday, July 20, 2018 3:24:58 AM PDT Lionel Landwerlin wrote:
> 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 at intel.com>
> ---
>  src/intel/tools/intel_dump_gpu.c  |  2 +-
>  src/intel/tools/intel_dump_gpu.in | 11 ++++++++---
>  2 files changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/src/intel/tools/intel_dump_gpu.c b/src/intel/tools/intel_dump_gpu.c
> index 6ce7d452afb..1abe54147cf 100644
> --- a/src/intel/tools/intel_dump_gpu.c
> +++ b/src/intel/tools/intel_dump_gpu.c
> @@ -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")) {
> diff --git a/src/intel/tools/intel_dump_gpu.in b/src/intel/tools/intel_dump_gpu.in
> index 9eea37189db..0454cff25da 100755
> --- a/src/intel/tools/intel_dump_gpu.in
> +++ b/src/intel/tools/intel_dump_gpu.in
> @@ -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
> 

Thanks so much, Lionel!

Both are:
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180720/54ff879a/attachment.sig>


More information about the mesa-dev mailing list