From: "Paul E. McKenney" <[email protected]>

This commit adds a --debug-info argument to kvm.sh in order to ease
interpretation of addresses printed on the console and the like.
This argument also disables KASLR.

Signed-off-by: Paul E. McKenney <[email protected]>
Signed-off-by: Frederic Weisbecker <[email protected]>
---
 tools/testing/selftests/rcutorture/bin/kvm.sh | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh 
b/tools/testing/selftests/rcutorture/bin/kvm.sh
index b0f36a638a69..7af73ddc148d 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -49,6 +49,7 @@ TORTURE_SHUTDOWN_GRACE=180
 TORTURE_SUITE=rcu
 TORTURE_MOD=rcutorture
 TORTURE_TRUST_MAKE=""
+debuginfo="CONFIG_DEBUG_INFO_NONE=n 
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y"
 resdir=""
 configs=""
 cpus=0
@@ -68,6 +69,7 @@ usage () {
        echo "       --cpus N"
        echo "       --datestamp string"
        echo "       --defconfig string"
+       echo "       --debug-info"
        echo "       --dryrun batches|scenarios|sched|script"
        echo "       --duration minutes | <seconds>s | <hours>h | <days>d"
        echo "       --gdb"
@@ -135,6 +137,15 @@ do
                ds=$2
                shift
                ;;
+       --debug-info|--debuginfo)
+               if test -z "$TORTURE_KCONFIG_KCSAN_ARG" && test -z 
"$TORTURE_BOOT_GDB_ARG"
+               then
+                       TORTURE_KCONFIG_KCSAN_ARG="$debuginfo"; export 
TORTURE_KCONFIG_KCSAN_ARG
+                       TORTURE_BOOT_GDB_ARG="nokaslr"; export 
TORTURE_BOOT_GDB_ARG
+               else
+                       echo "Ignored redundant --debug-info (implied by 
--kcsan &c)"
+               fi
+               ;;
        --defconfig)
                checkarg --defconfig "defconfigtype" "$#" "$2" '^[^/][^/]*$' 
'^--'
                TORTURE_DEFCONFIG=$2
@@ -163,7 +174,7 @@ do
                shift
                ;;
        --gdb)
-               TORTURE_KCONFIG_GDB_ARG="CONFIG_DEBUG_INFO_NONE=n 
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y"; export TORTURE_KCONFIG_GDB_ARG
+               TORTURE_KCONFIG_GDB_ARG="$debuginfo"; export 
TORTURE_KCONFIG_GDB_ARG
                TORTURE_BOOT_GDB_ARG="nokaslr"; export TORTURE_BOOT_GDB_ARG
                TORTURE_QEMU_GDB_ARG="-s -S"; export TORTURE_QEMU_GDB_ARG
                ;;
@@ -179,7 +190,7 @@ do
                shift
                ;;
        --kasan)
-               TORTURE_KCONFIG_KASAN_ARG="CONFIG_DEBUG_INFO_NONE=n 
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KASAN=y"; export 
TORTURE_KCONFIG_KASAN_ARG
+               TORTURE_KCONFIG_KASAN_ARG="$debuginfo CONFIG_KASAN=y"; export 
TORTURE_KCONFIG_KASAN_ARG
                if test -n "$torture_qemu_mem_default"
                then
                        TORTURE_QEMU_MEM=2G
@@ -191,7 +202,7 @@ do
                shift
                ;;
        --kcsan)
-               TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO_NONE=n 
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KCSAN=y 
CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 
CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; 
export TORTURE_KCONFIG_KCSAN_ARG
+               TORTURE_KCONFIG_KCSAN_ARG="$debuginfo CONFIG_KCSAN=y 
CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 
CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; 
export TORTURE_KCONFIG_KCSAN_ARG
                ;;
        --kmake-arg|--kmake-args)
                checkarg --kmake-arg "(kernel make arguments)" $# "$2" '.*' 
'^error$'
-- 
2.34.1

Reply via email to