From b637c62250ac9af2ff5c504ad2d0746f351ffd30 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Sat, 10 Aug 2024 17:45:30 +0200 Subject: [PATCH 1/2] Changes to genstubs-kmpc - Added a safeguard to not execute it from a wrong directory - Made MAX_WRAPPERS a parameter --- src/tracer/wrappers/OMP/genstubs-kmpc-11.sh | 23 ++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/src/tracer/wrappers/OMP/genstubs-kmpc-11.sh b/src/tracer/wrappers/OMP/genstubs-kmpc-11.sh index a40da8a7..0a7f5eaf 100755 --- a/src/tracer/wrappers/OMP/genstubs-kmpc-11.sh +++ b/src/tracer/wrappers/OMP/genstubs-kmpc-11.sh @@ -1,6 +1,27 @@ #!/bin/bash -MAX_WRAPPERS=512 +usage() +{ + echo "Small script to generate wrapper for more variadic paramters when intercepting KMPC runtime symbols" + echo + echo "How to use: ./$(basename "$0") MAX_WRAPPERS" + echo + echo "MAX_WRAPPERS: number of arguments for which wrapper functions will be generated" +} + +if [ $(dirname "$0") != "." ] +then + echo "This script is located in $(dirname "$0") and should be called from there like ./$(basename "$0")" + exit 1 +fi + +if [ "$#" -ne 1 ] +then + usage + exit 1 +fi + +MAX_WRAPPERS=$1 MAX_WRAPPERS_PER_FILE=64 INTERMEDIATE_PATH="intel-kmpc-11-intermediate" INTERMEDIATE_WRAPPERS_BASENAME="intel-kmpc-11-intermediate-part" From d0d7a91fff7a05de6ce298c1fcab3cb7fae5e8a6 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Sat, 10 Aug 2024 17:45:44 +0200 Subject: [PATCH 2/2] Update debug print on how to use genstubs-kmpc --- src/tracer/wrappers/OMP/intel-kmpc-11.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/tracer/wrappers/OMP/intel-kmpc-11.c b/src/tracer/wrappers/OMP/intel-kmpc-11.c index 7cabf812..a77e4dd8 100644 --- a/src/tracer/wrappers/OMP/intel-kmpc-11.c +++ b/src/tracer/wrappers/OMP/intel-kmpc-11.c @@ -1104,9 +1104,8 @@ void __kmpc_fork_call (void *loc, int argc, void *microtask, ...) if (kmpc_parallel_sched_ptr == NULL) { fprintf (stderr, PACKAGE_NAME": Error! Can't retrieve handler to stub '%s' (%d arguments)! Quitting!\n" - PACKAGE_NAME": Recompile Extrae to support this number of arguments!\n" - PACKAGE_NAME": Use src/tracer/wrappers/OMP/genstubs-kmpc-11.sh to do so.\n", - kmpc_parallel_sched_name, argc); + PACKAGE_NAME": Recompile Extrae after executing: cd src/tracer/wrappers/OMP && ./genstubs-kmpc-11.sh %d .\n", + kmpc_parallel_sched_name, argc, argc); exit (-1); } @@ -1120,9 +1119,8 @@ void __kmpc_fork_call (void *loc, int argc, void *microtask, ...) if (wrap_ptr == NULL) { fprintf (stderr, PACKAGE_NAME": Error! Can't retrieve handler to stub '%s' (%d arguments)! Quitting!\n" - PACKAGE_NAME": Recompile Extrae to support this number of arguments!\n" - PACKAGE_NAME": Use src/tracer/wrappers/OMP/genstubs-kmpc-11.sh to do so.\n", - kmpc_parallel_wrap_name, argc); + PACKAGE_NAME": Recompile Extrae after executing: cd src/tracer/wrappers/OMP && ./genstubs-kmpc-11.sh %d .\n", + kmpc_parallel_wrap_name, argc, argc); exit (-1); } } @@ -1194,9 +1192,8 @@ void __kmpc_fork_call_dyninst (void *loc, int argc, void *microtask, ...) if (kmpc_parallel_sched_ptr == NULL) { fprintf (stderr, PACKAGE_NAME": Error! Can't retrieve handler to stub '%s' (%d arguments)! Quitting!\n" - PACKAGE_NAME": Recompile Extrae to support this number of arguments!\n" - PACKAGE_NAME": Use src/tracer/wrappers/OMP/genstubs-kmpc-11.sh to do so.\n", - kmpc_parallel_sched_name, argc); + PACKAGE_NAME": Recompile Extrae after executing: cd src/tracer/wrappers/OMP && ./genstubs-kmpc-11.sh %d .\n", + kmpc_parallel_sched_name, argc,argc); exit (-1); } @@ -1210,9 +1207,8 @@ void __kmpc_fork_call_dyninst (void *loc, int argc, void *microtask, ...) if (wrap_ptr == NULL) { fprintf (stderr, PACKAGE_NAME": Error! Can't retrieve handler to stub '%s' (%d arguments)! Quitting!\n" - PACKAGE_NAME": Recompile Extrae to support this number of arguments!\n" - PACKAGE_NAME": Use src/tracer/wrappers/OMP/genstubs-kmpc-11.sh to do so.\n", - kmpc_parallel_wrap_name, argc); + PACKAGE_NAME": Recompile Extrae after executing: cd src/tracer/wrappers/OMP && ./genstubs-kmpc-11.sh %d .\n", + kmpc_parallel_wrap_name, argc,argc); exit (-1); } }