From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id +ZFhKFdMg2l6ICgAWB0awg (envelope-from ) for ; Wed, 04 Feb 2026 08:40:39 -0500 Authentication-Results: simark.ca; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=ZGUsd4O1; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id A21571E09A; Wed, 04 Feb 2026 08:40:39 -0500 (EST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIM_INVALID,DKIM_SIGNED,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,RDNS_NONE autolearn=no autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (unknown [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 8C7511E09A for ; Wed, 04 Feb 2026 08:40:37 -0500 (EST) Received: from vm01.sourceware.org (localhost [127.0.0.1]) by sourceware.org (Postfix) with ESMTP id 18F714BA2E0C for ; Wed, 4 Feb 2026 13:40:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 18F714BA2E0C Authentication-Results: sourceware.org; dkim=fail reason="signature verification failed" (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=ZGUsd4O1 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.12]) by sourceware.org (Postfix) with ESMTPS id 771274BA2E16 for ; Wed, 4 Feb 2026 13:38:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 771274BA2E16 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 771274BA2E16 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.12 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770212331; cv=none; b=GnkhJhHzULSzadXSwkC3fXhbQjkbonmpW1lMprgpGQfic6FdO9FcG0klClStqjYi1pyNuxoaXsRkANONk8OT7cIjbZ/hlNn0LBaxhoe2Blvz1izDiD/fBEZv+hj/5ZVYFt59mJLo8DjNh5WaHNX9kz5wKsQIh8AAmAoLMPEeKCQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1770212331; c=relaxed/simple; bh=bwSd5a9QSR4QsZEfoVpsI3lZhSahxs3WmCqkXAFmDZM=; h=DKIM-Signature:MIME-Version:From:To:Subject:Date:Message-Id: MIME-Version; b=mO2ufFz/J3Fwk+62/i+QhijrB4AAkphyfnZVpMI5JKYa4ah1eJbZVBZqWzDJnXWD4y5SBG64/vYP3tcWMvaG99IJmyXdv19RkqGIlnw16b/a8If4ldJsSMGc1LQ7rjPOCT1cwDslrhQBx2hEFF8nK59a4igfPxEsIXlPWxrujKA= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 771274BA2E16 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1770212326; x=1801748326; h=from:to:subject:date:message-id:in-reply-to:references; bh=bwSd5a9QSR4QsZEfoVpsI3lZhSahxs3WmCqkXAFmDZM=; b=ZGUsd4O1ceHiVFDolyYigjri01VfL2lbJ8wZ5b1OFzoNJXLpp6D2FqUa w4lwBgmyBD7EWKqy6sv1ew72lvBLMBclCLTjpTPPWMfIeWKY8iUkwAug+ aliqlWw1aEfaEmTsZkKGwUuDBiYMHNyCiR/oPRWSg/gAvytMbF4DjzEKx wgZn4EDkNxPIEK0J6IRhmeVBv9+JIZn93Jv08CKISsghL7N58EKWf8U9A fiyBwLKPM0kC0JFBme7K/Fa9N78wgb1oh+vsDAIwJEftvHpseu34OOZP4 cdE11A0TAsu09JJMZViePjtMxE5UuSejcx7QmHWf6fyzlbP3wVnAnrxQY g==; X-CSE-ConnectionGUID: nn2t1F/STICuN2mxE3TE3A== X-CSE-MsgGUID: OJxbznp3QfKf1UkSjxQEBQ== X-IronPort-AV: E=McAfee;i="6800,10657,11691"; a="82831935" X-IronPort-AV: E=Sophos;i="6.21,272,1763452800"; d="scan'208";a="82831935" Content-Type: multipart/mixed; boundary="===============0281855455421679746==" MIME-Version: 1.0 Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2026 05:38:45 -0800 X-CSE-ConnectionGUID: 0kSEOv3rTcOLh/jQWIu6EA== X-CSE-MsgGUID: WkxJAsjQQqC+5OXZmZg7Mw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.21,272,1763452800"; d="scan'208";a="209460523" Received: from dut1865dg2frd.igk.intel.com (HELO localhost) ([10.211.179.243]) by orviesa010-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2026 05:38:45 -0800 From: Klaus Gerlicher To: gdb-patches@sourceware.org Subject: [PATCH v6 6/6] gdb: add eval option to lock the scheduler during infcalls. Date: Wed, 4 Feb 2026 13:37:53 +0000 Message-Id: <20260204133753.547281-7-klaus.gerlicher@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260204133753.547281-1-klaus.gerlicher@intel.com> References: <20260204133753.547281-1-klaus.gerlicher@intel.com> MIME-Version: 1.0 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org --===============0281855455421679746== Content-Transfer-Encoding: 8bit From: Natalia Saiapova This patch adds an "eval" scheduler locking setting to control inferior function calls separately from other continuing commands. "continue" handles continuing commands, such as continue, until, return, finish, jump. "eval" handles inferior calls. Show scheduler locking: (gdb) show scheduler-locking scheduler-locking continue: "off" Scheduler locking for continuing commands is "off" during normal execution. scheduler-locking eval: "off" Scheduler locking for function calls is "off" during normal execution. scheduler-locking replay continue: "on" Scheduler locking for continuing commands is "on" during replay mode. scheduler-locking replay eval: "on" Scheduler locking for function calls is "on" during replay mode. scheduler-locking replay step: "on" Scheduler locking for stepping commands is "on" during replay mode. scheduler-locking step: "off" Scheduler locking for stepping commands is "off" during normal execution. Reviewed-By: Eli Zaretskii --- gdb/NEWS | 15 +++-- gdb/doc/gdb.texinfo | 25 +++++--- gdb/infrun.c | 59 +++++++++++++++---- .../gdb.mi/user-selected-context-sync.exp | 3 +- .../gdb.threads/hand-call-in-threads.exp | 6 +- .../multiple-successive-infcall.exp | 5 +- gdb/testsuite/gdb.threads/schedlock.exp | 41 ++++++++++--- gdb/testsuite/lib/gdb.exp | 3 +- 8 files changed, 118 insertions(+), 39 deletions(-) diff --git a/gdb/NEWS b/gdb/NEWS index 8514158c1d8..e1ff4e9dc25 100644 --- a/gdb/NEWS +++ b/gdb/NEWS @@ -752,15 +752,20 @@ list . set scheduler-locking (on|off) show scheduler-locking where is one of the following: - continue | replay continue | replay step | step. - Extend the scheduler locking settings with a set of set/show - commands, which can be used individually to control the scheduler during - stepping and continuing commands. Stepping commands include step, stepi, - next. Continuing commands include continue, finish, until, jump, return. + continue | eval | replay continue | replay eval | replay step | step + Extend the scheduler locking settings with a set of set/show commands, + which can be used individually to control the scheduler during stepping, + continuing and evaluating commands. Stepping commands include step, stepi, + next. Continuing commands include continue, finish, until, jump, return. + The evaluating commands are those which invoke inferior calls. 'continue' -- when on, the scheduler is locked during continuing commands in normal mode. + 'eval' -- when on, the scheduler is locked during inferior calls in + normal mode. 'replay continue' -- when on, the scheduler is locked during continuing commands in replay mode. + 'replay eval' -- when on, the scheduler is locked during inferior calls + in replay mode. 'replay step' -- when on, the scheduler is locked during stepping commands in replay mode. 'step' -- when on, the scheduler is locked during stepping commands diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 6d5d07b7e77..b591feea4b0 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -7413,10 +7413,10 @@ locking the OS scheduler to allow only a single thread to run. @cindex lock scheduler Set the scheduler locking settings. It applies to normal execution, record mode, and replay mode. You can configure scheduler locking separately -for stepping and continuing commands. Examples of stepping commands are: -@samp{step}, @samp{stepi}, @samp{next}. Examples of continuing commands are -@samp{continue}, @samp{finish}, @samp{jump}, @samp{until}, @samp{return} or -inferior function calls. +for continuing and stepping commands, as well as function calls. +Examples of stepping commands are: @samp{step}, @samp{stepi}, @samp{next}. +Examples of continuing commands are @samp{continue}, @samp{finish}, +@samp{jump}, @samp{until}, @samp{return}. The following @var{type}-settings are available. When a setting is @code{on}, the scheduler is locked: other threads may not preempt the @@ -7427,10 +7427,21 @@ current thread, so that the focus of debugging does not change unexpectedly. Applies to continuing commands during normal execution and record modes. This setting is @code{off} by default. +@item eval +When @code{on}, the scheduler is locked for function calls during normal +execution and record modes, such that other threads may not preempt +the current thread during the inferior call. This setting is @code{off} +by default. + @item replay continue Applies to continuing commands during replay mode. This setting is @code{on} by default. +@item replay eval +When @code{on}, the scheduler is locked for function calls during replay +mode, such that other threads may not preempt the current thread during +the inferior call. This setting is @code{on} by default. + @item replay step Applies to stepping commands during replay mode. This setting is @code{on} by default. @@ -7480,9 +7491,9 @@ are @code{off}. Behaves like @code{on} in replay mode, and @code{off} in either record mode or during normal execution. This is the default mode. -This is equivalent to set @samp{scheduler-locking replay continue} and -@samp{scheduler-locking replay step} to @code{on}, while other settings -are @code{off}. +This is equivalent to set @samp{scheduler-locking replay continue}, +@samp{scheduler-locking replay eval} and @samp{scheduler-locking replay step} +to @code{on}, while other settings are @code{off}. @end table diff --git a/gdb/infrun.c b/gdb/infrun.c index 3ac669729b3..f90d71c6e06 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -113,7 +113,9 @@ static bool schedlock_applies (thread_info *tp); static bool schedlock_applies (bool step, bool record_will_replay, thread_info *tp = nullptr); -static bool schedlock_applies_to_opts (const schedlock_options &, bool step); +static bool schedlock_applies_to_opts (const schedlock_options &, + bool step, + thread_info *tp = nullptr); /* Command lists for the scheduler locking. */ static cmd_list_element *schedlock_set_cmdlist; @@ -2360,8 +2362,8 @@ struct schedlock_options }; schedlock_options () = delete; - schedlock_options (option cont, option step) - : cont (std::move (cont)), step (std::move (step)) + schedlock_options (option eval, option cont, option step) + : eval (std::move (eval)), cont (std::move (cont)), step (std::move (step)) {} /* Forbid accidential copying. */ @@ -2370,6 +2372,8 @@ struct schedlock_options schedlock_options (schedlock_options &&) = default; schedlock_options &operator= (schedlock_options &&) = default; + /* If true, the scheduler is locked during inferior calls. */ + option eval; /* If true, the scheduler is locked during continuing. */ option cont; /* If true, the scheduler is locked during stepping. */ @@ -2408,10 +2412,12 @@ static const char schedlock_replay[] = "replay"; schedlock schedlock { { + {"eval", false}, {"cont", false}, {"step", false} }, { + {"replay eval", true}, {"replay cont", true}, {"replay step", true} } @@ -2435,9 +2441,11 @@ set_schedlock_shortcut_option (const char *shortcut) bool any_changed = schedlock.normal.cont.set (is_on); any_changed = schedlock.normal.step.set (is_on || is_step) || any_changed; + any_changed = schedlock.normal.eval.set (is_on) || any_changed; any_changed = schedlock.replay.cont.set (is_on || is_replay) || any_changed; any_changed = schedlock.replay.step.set (is_on || is_replay || is_step) || any_changed; + any_changed = schedlock.replay.eval.set (is_on || is_replay) || any_changed; /* If at least one parameter has changed, notify the observer in the old-fashioned way. */ @@ -2511,6 +2519,8 @@ show_schedlock_option (ui_file *file, int from_tty, type = "stepping commands"; else if (strcmp (c->name, "continue") == 0) type = "continuing commands"; + else if (strcmp (c->name, "eval") == 0) + type = "expression evaluation"; else gdb_assert_not_reached ("Unexpected command name."); @@ -3355,13 +3365,20 @@ thread_still_needs_step_over (struct thread_info *tp) /* Return true if OPTS lock the scheduler. STEP indicates whether a thread is about to step. + While the stepping info we take from STEP argument, the inferior call + state we get from the thread TP. Note, this does not take into the account the mode (replay or normal execution). */ static bool -schedlock_applies_to_opts (const schedlock_options &opts, bool step) +schedlock_applies_to_opts (const schedlock_options &opts, bool step, + thread_info *tp) { - return ((opts.cont && !step) || (opts.step && step)); + bool in_infcall = (tp != nullptr) && tp->control.in_infcall; + + return ((opts.cont && !step && !in_infcall) + || (opts.step && step) + || (opts.eval && in_infcall)); } /* Returns true if scheduler locking applies to TP. */ @@ -3389,7 +3406,7 @@ schedlock_applies (bool step, bool record_will_replay, thread_info *tp) { schedlock_options &opts = record_will_replay ? schedlock.replay : schedlock.normal; - return schedlock_applies_to_opts (opts, step); + return schedlock_applies_to_opts (opts, step, tp); } /* When FORCE_P is false, set process_stratum_target::COMMIT_RESUMED_STATE @@ -10973,11 +10990,10 @@ Show scheduler locking settings in various conditions."), add_setshow_boolean_cmd ("continue", class_run, &schedlock.normal.cont.value, _("\ Scheduler locking for continuing commands during normal execution."), _("\ -Show scheduler locking for continuing commands during normal execution."), - _("\ +Show scheduler locking for continuing commands during normal execution."), _("\ Controls scheduler locking for continuing commands during normal execution.\n\ -Commands include continue, until, finish. The setting does not affect \ -stepping."), +Commands include continue, until, finish. The setting does not affect\n\ +stepping and function calls."), set_schedlock_callback, show_schedlock_option, &schedlock_set_cmdlist, @@ -10995,6 +11011,16 @@ Commands include step, next, stepi, nexti."), &schedlock_set_cmdlist, &schedlock_show_cmdlist); + add_setshow_boolean_cmd ("eval", class_run, &schedlock.normal.eval.value, _("\ +Scheduler locking for function calls during normal execution."), _("\ +Show scheduler locking for function calls during normal execution."), + _("\ +Controls scheduler locking for function calls during normal execution."), + set_schedlock_callback, + show_schedlock_option, + &schedlock_set_cmdlist, + &schedlock_show_cmdlist); + /* Commands for set/show scheduler-locking in replay mode. The base command adds support for the shortcut set scheduler-locking replay @@ -11019,8 +11045,8 @@ W/o arguments completely locks the scheduler in replay mode."), Set scheduler locking for continuing commands in replay mode."), _("\ Show scheduler locking for continuing commands in replay mode."), _("\ Controls scheduler locking for continuing commands in replay mode.\n\ -Commands include continue, until, finish. The setting does not affect \ -stepping."), +Commands include continue, until, finish. The setting does not affect\n\ +stepping and function calls."), set_schedlock_callback, show_schedlock_option, &schedlock_set_replay_cmdlist, @@ -11036,6 +11062,15 @@ Commands include step, next, stepi, nexti."), &schedlock_set_replay_cmdlist, &schedlock_show_replay_cmdlist); + add_setshow_boolean_cmd ("eval", class_run, &schedlock.replay.eval.value, _("\ +Set scheduler locking for function calls in replay mode."), _("\ +Show scheduler locking for function calls in replay mode."), _("\ +Controls scheduler locking for function calls in replay mode."), + set_schedlock_callback, + show_schedlock_option, + &schedlock_set_replay_cmdlist, + &schedlock_show_replay_cmdlist); + /* Commands "set scheduler-locking on" and "set scheduler-locking off" are provided for backward compatibility. */ c = add_cmd ("on", class_run, set_schedlock_on, _("\ diff --git a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp index dec7ff1fde6..7e2d8315d45 100644 --- a/gdb/testsuite/gdb.mi/user-selected-context-sync.exp +++ b/gdb/testsuite/gdb.mi/user-selected-context-sync.exp @@ -339,7 +339,8 @@ proc test_continue_to_start { mode inf } { } # Restore scheduler-locking to its original value. - foreach opt {"continue" "replay continue" "replay step" "step"} { + foreach opt {"continue" "eval" "replay continue" \ + "replay eval" "replay step" "step"} { gdb_test_no_output \ "set scheduler-locking $opt [dict get $previous_schedlock $opt]" } diff --git a/gdb/testsuite/gdb.threads/hand-call-in-threads.exp b/gdb/testsuite/gdb.threads/hand-call-in-threads.exp index a06f17fd253..fd2b422443e 100644 --- a/gdb/testsuite/gdb.threads/hand-call-in-threads.exp +++ b/gdb/testsuite/gdb.threads/hand-call-in-threads.exp @@ -70,7 +70,8 @@ gdb_test "continue" \ gdb_test_no_output "set scheduler-locking on" "enable scheduler locking" set test "show scheduler-locking on" gdb_assert {[get_scheduler_locking $test \ - [dict create "continue" "on" "replay continue" "on" \ + [dict create "continue" "on" "eval" "on" \ + "replay continue" "on" "replay eval" "on" \ "replay step" "on" "step" "on"]] ne "unknown"} $test # Now hand-call a function in each thread, having the function @@ -144,7 +145,8 @@ gdb_test_multiple "maint print dummy-frames" "all dummies popped" { gdb_test_no_output "set scheduler-locking off" "disable scheduler locking" set test "show scheduler-locking off" gdb_assert {[get_scheduler_locking $test \ - [dict create "continue" "off" "replay continue" "off" \ + [dict create "continue" "off" "eval" "off" \ + "replay continue" "off" "replay eval" "off" \ "replay step" "off" "step" "off"]] ne "unknown"} $test # Continue one last time, the program should exit normally. diff --git a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp index 0f25e8aeda4..2130b092743 100644 --- a/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp +++ b/gdb/testsuite/gdb.threads/multiple-successive-infcall.exp @@ -51,8 +51,9 @@ gdb_continue_to_breakpoint "testmarker01" gdb_test_no_output "set scheduler-locking on" set test "show scheduler-locking" gdb_assert {[get_scheduler_locking $test \ - [dict create \"continue\" \"on\" \"replay continue\" \"on\" \ - \"replay step\" \"on\" \"step\" \"on\"]] ne \"unknown\"} $test + [dict create "continue" "on" "eval" "on" \ + "replay continue" "on" "replay eval" "on" \ + "replay step" "on" "step" "on"]] ne "unknown"} $test foreach_with_prefix thread {5 4 3 2 1} { gdb_test "thread ${thread}" "Switching to .*" diff --git a/gdb/testsuite/gdb.threads/schedlock.exp b/gdb/testsuite/gdb.threads/schedlock.exp index bc6674b2781..f39ad2b4753 100644 --- a/gdb/testsuite/gdb.threads/schedlock.exp +++ b/gdb/testsuite/gdb.threads/schedlock.exp @@ -228,7 +228,7 @@ proc check_result { cmd before_thread before_args locked } { set num_other_threads 0 for {set i 0} {$i < $NUM} {incr i} { if {[lindex $before_args $i] == [lindex $after_args $i]} { - if {$i == $before_thread} { + if {$i == $before_thread && $cmd ne "infcall"} { fail "$test (didn't run)" } } else { @@ -321,11 +321,12 @@ foreach schedlock {"off" "step" "on"} { } } -proc test_schedlock_opts {cont step} { +proc test_schedlock_opts {cont eval step} { set test "show scheduler-locking" if {[get_scheduler_locking $test \ - [dict create "continue" $cont "replay continue" "off" \ - "replay step" "off" "step" $step]] eq "unknown"} { + [dict create "continue" $cont "eval" $eval \ + "replay continue" "off" "replay eval" "off" \ + "replay step" "off" "step" $step]] eq "unknown"} { fail $test } else { pass $test @@ -360,17 +361,39 @@ proc test_schedlock_opts {cont step} { my_continue "continue" check_result "continue" $curthread $cont_args $locked } + + # Infcall tests. + set locked 0 + if {$eval eq "on"} { + set locked 1 + } + with_test_prefix "cmd=infcall" { + # Use whichever we stopped in. + set curthread [get_current_thread "before-infcall"] + set cont_args [get_args "before-infcall"] + + for {set i 0} {[expr $i < 10]} {set i [expr $i + 1]} { + with_test_prefix "infcall #$i" { + gdb_test "print some_function()" ".*" + } + } + + check_result "infcall" $curthread $cont_args $locked + } } gdb_test_no_output "set scheduler-locking off" # Test different options of scheduler locking. foreach cont {"off" "on"} { - foreach step {"off" "on"} { - with_test_prefix "continue=$cont step=$step" { - gdb_test_no_output "set scheduler-locking continue $cont" - gdb_test_no_output "set scheduler-locking step $step" - test_schedlock_opts $cont $step + foreach eval {"off" "on"} { + foreach step {"off" "on"} { + with_test_prefix "continue=$cont eval=$eval step=$step" { + gdb_test_no_output "set scheduler-locking continue $cont" + gdb_test_no_output "set scheduler-locking eval $eval" + gdb_test_no_output "set scheduler-locking step $step" + test_schedlock_opts $cont $eval $step + } } } } diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp index 9762aec9221..bffb5e3227e 100644 --- a/gdb/testsuite/lib/gdb.exp +++ b/gdb/testsuite/lib/gdb.exp @@ -9881,7 +9881,8 @@ proc get_scheduler_locking {{test ""} {expected ""}} { set test "reading current scheduler-locking mode" } - set opts {"continue" "replay continue" "replay step" "step"} + set opts {"continue" "eval" "replay continue" "replay eval" \ + "replay step" "step"} # Fill the missing entries in EXPECTED list. foreach opt $opts { -- 2.34.1 --===============0281855455421679746== Content-Type: multipart/alternative; boundary="===============7109817855821885556==" MIME-Version: 1.0 Content-Disposition: inline --===============7109817855821885556== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Intel Deutschland GmbH Registered Address: Dornacher Stra=C3=9Fe 1, 85622 Feldkirchen, Germany Tel: +49 89 991 430, www.intel.de Managing Directors: Harry Demas, Jeffrey Schneiderman, Yin Chong Sorrell Chairperson of the Supervisory Board: Nicole Lau Registered Seat: Munich Commercial Register: Amtsgericht M=C3=BCnchen HRB 186928 --===============7109817855821885556== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable

Intel Deutschland GmbH

Registered Ad= dress: Dornacher Stra=C3=9Fe 1, 85622 Feldkirchen, Germany
Tel: +49 89 = 991 430, www.intel.de
Managing Directors: Harry Demas, Jeffrey Schneide= rman, Yin Chong Sorrell
Chairperson of the Supervisory Board: Nicole La= u
Registered Seat: Munich
Commercial Register: Amtsgericht M=C3=BCn= chen HRB 186928

--===============7109817855821885556==-- --===============0281855455421679746==--