From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by sourceware.org (Postfix) with ESMTPS id 9A849384AB45 for ; Tue, 7 May 2024 23:42:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9A849384AB45 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=palves.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9A849384AB45 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715125359; cv=none; b=ENEn/bRPK0tNczJxSWmu+nTlD6yZ/odLpczSYtLTV8AHm6hicS3PseTGyIF7ftAVm586yulvVE/iDUJwtI77hIDybzTkmX2nB03pBFnvFH+5Hr1tefPQlPih/KmZ0XiioSX0dvbeA95DIEiCJFmy9aGMc6ki0wekRBmaoisSoJk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715125359; c=relaxed/simple; bh=GCa8zoVlReGOJi9f1eSMmsl39FIqWBhfTWK3GVNhGDU=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=tmrNoWTxycPasgG0FxEp6Om3VSwzDuiQPXk2niixj7skbw057MZRf5yVP78LgG5clxie8u5TfP2UjLiLMpMQM9S0ZCW7pltnuWi9HtQs0uWZDA/rp21iXgVgBXiyO/Xs94PO37fNWF8on7MFgxl5o73WnzM5BA7GnhnzJCdRuDI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-41b79451153so30196905e9.2 for ; Tue, 07 May 2024 16:42:37 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715125356; x=1715730156; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GjMsCijY5qg09DIkt25Q4aFQozUWu0Cg0KSZA/WIb3k=; b=fh5gkAwZCFa3cjzDJRPotJIhE+kPLNQU6990nghrcBTQzunlMLnWrUmMuafpw4Wud3 hAv8LPRz72ka5HwqGpsaORmA6tksMF6gy8aaHiU1R+uBg+X7B1iuKKJnOExjo/RiLRi2 E5EMyINK1bm7LyB0RhcSo5atztPqPr7WFi+wzOArV7CnxAZZoaSxxVNQPA/WdtjhoB4T x2JlX3iKfJGaom9OZwZwfzF20JUK5qy7KNif1JKYt4sZjyIvpeUYfJiFnSHEZWQ8FItH icgPkG4PkKjdsYiX09T8283i+ajeW1TWzUUWvm3BuV2qjLYuq5qjHTSwmJOsRMYBE9cy zIjg== X-Gm-Message-State: AOJu0Yx4k6Uj5D2lqOnoRlBACQIcnRlje5EUuAMzwaU2jv+/f8k9WkZD DAMppG4PeIF53+koTtZ6G2fYcyTUze9s5IowKx2ICf4ND6p1/H3rQMtP8Fyh X-Google-Smtp-Source: AGHT+IHpRmnXDydHSrIWy71CHajQUGS83cIGjbG4bknt2c+jKROYCCFqGUPyOdwVbormefA87jQQXw== X-Received: by 2002:a05:6000:e01:b0:34c:71f2:acea with SMTP id ffacd0b85a97d-34fca243a14mr857725f8f.20.1715125356052; Tue, 07 May 2024 16:42:36 -0700 (PDT) Received: from localhost ([2001:8a0:f908:4900:2dd1:1a0d:2b75:dc42]) by smtp.gmail.com with UTF8SMTPSA id h18-20020a056000001200b0034c78001f6asm13888080wrx.109.2024.05.07.16.42.35 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 07 May 2024 16:42:35 -0700 (PDT) From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH 00/34] Windows non-stop mode Date: Wed, 8 May 2024 00:41:59 +0100 Message-ID: <20240507234233.371123-1-pedro@palves.net> X-Mailer: git-send-email 2.43.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.3 required=5.0 tests=BAYES_00,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This series adds non-stop mode support to the Windows native backend, on Windows 10 and above. Earlier Windows version lack the necessary feature, so those keep working in all-stop mode, only. After the series, the Windows target backend defaults to working in non-stop mode (as in, "maint set target-non-stop"), even if user-visible mode is all-stop ("set non-stop off"). This is the same as the Linux backend. I've been testing this on Cygwin native with the GDB testsuite as I've been developing this. Running the testsuite on Cygwin is a pain, and many testcases run into cascading timeouts still, and some even hang the test run forever until you kill them manually. I've got another series of patches to improve such tests and skip others, and that's what I've been testing with. I've also tested the series with the windows-nat backend forced to all-stop mode, but admittedly not after the last rebase (as it's so painful), yet. Pedro Alves (34): Windows gdb: Dead code in windows_nat_target::do_initial_windows_stuff Windows gdb: Eliminate global current_process.dr[8] global Windows gdb+gdbserver: New find_thread, replaces thread_rec(DONT_INVALIDATE_CONTEXT) Windows gdb: handle_output_debug_string return type Windows gdb: Eliminate reload_context Windows gdb+gdbserver: Eliminate thread_rec(INVALIDATE_CONTEXT) calls Windows gdb+gdbserver: Eliminate DONT_SUSPEND Windows gdb+gdbserver: Eliminate windows_process_info::thread_rec Windows gdb: Simplify windows_nat_target::wait Windows gdb+gdbserver: Move suspending thread to when returning event Windows gdb: Introduce continue_last_debug_event_main_thread Windows gdb: Introduce windows_continue_flags Windows gdb: Factor code out of windows_nat_target::windows_continue Windows gdb: Pending stop and current_event Windows gdb+gdbserver: Elim desired_stop_thread_id / rework pending_stops Windows gdb+gdbserver: Introduce get_last_debug_event_ptid Windows gdb: Can't pass signal to thread other than last stopped thread Windows gdbserver: Fix scheduler-locking Windows gdb: Enable "set scheduler-locking on" Windows gdbserver: Eliminate soft-interrupt mechanism Windows gdb+gdbserver: Make current_event per-thread state Windows gdb+gdbserver: Make last_sig per-thread state Windows gdb+gdbserver: Make siginfo_er per-thread state Add backpointer from windows_thread_info to windows_process_info Windows gdb+gdbserver: Share $_siginfo reading code Windows gdb+gdbserver: Eliminate struct pending_stop Windows gdb: Change serial_event management Windows gdb: cygwin_set_dr => windows_set_dr, etc. windows_per_inferior::continue_one_thread, unify WoW64/non-WoW64 paths windows-nat.c: Avoid writing debug registers if watchpoint hit pending Windows gdb+gdbserver: Check whether DBG_REPLY_LATER is available Windows gdb: Add non-stop support Windows gdb: Watchpoints while running (internal vs external stops) Mention Windows non-stop support in NEWS gdb/NEWS | 3 + gdb/nat/windows-nat.c | 207 +++-- gdb/nat/windows-nat.h | 219 +++--- gdb/windows-nat.c | 1616 ++++++++++++++++++++++++++++------------ gdbserver/win32-low.cc | 401 +++++----- gdbserver/win32-low.h | 19 +- 6 files changed, 1621 insertions(+), 844 deletions(-) base-commit: d68f983f88c7469befddcf221228070990cf25e1 -- 2.43.2