From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.polymtl.ca (smtp.polymtl.ca [132.207.4.11]) by sourceware.org (Postfix) with ESMTPS id 08B2D3888816 for ; Wed, 23 Mar 2022 13:02:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 08B2D3888816 Received: from simark.ca (simark.ca [158.69.221.121]) (authenticated bits=0) by smtp.polymtl.ca (8.14.7/8.14.7) with ESMTP id 22ND2j1Z011222 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 23 Mar 2022 09:02:50 -0400 DKIM-Filter: OpenDKIM Filter v2.11.0 smtp.polymtl.ca 22ND2j1Z011222 Received: from [10.0.0.11] (192-222-157-6.qc.cable.ebox.net [192.222.157.6]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPSA id 9DB3C1F3B9 for ; Wed, 23 Mar 2022 09:02:45 -0400 (EDT) Message-ID: <6a780c88-69d0-9a8c-6e05-a47ffb9ed9df@polymtl.ca> Date: Wed, 23 Mar 2022 09:02:45 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1 Subject: Re: [PATCH v2 0/9] Some fixes for handling vfork by multi-threaded programs Content-Language: en-US To: gdb-patches@sourceware.org References: <20220118040937.730282-1-simon.marchi@polymtl.ca> From: Simon Marchi In-Reply-To: <20220118040937.730282-1-simon.marchi@polymtl.ca> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Poly-FromMTA: (simark.ca [158.69.221.121]) at Wed, 23 Mar 2022 13:02:45 +0000 X-Spam-Status: No, score=-3032.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2022 13:02:52 -0000 Ping! On 2022-01-17 23:09, Simon Marchi wrote: > This is v2 of: > > https://sourceware.org/pipermail/gdb-patches/2022-January/185204.html > > The two changes are: > > - New patch 8: patch 7 fixes a bug gdbserver-side, which is good, but > it then uncovers a small bug in gdb. Patch 8 fixes it. > > - Patch 8/8 in v1 (now 9/9) had a bug that broke some tests that detach > the fork parent. > > Simon Marchi (9): > gdb/infrun: add reason parameter to stop_all_threads > gdb/linux-nat: remove check based on current_inferior in > linux_handle_extended_wait > gdb: replace inferior::waiting_for_vfork_done with > inferior::thread_waiting_for_vfork_done > gdb/infrun: add inferior parameters to stop_all_threads and > restart_threads > gdb/infrun: add logging statement to do_target_resume > gdb: fix handling of vfork by multi-threaded program > (follow-fork-mode=parent, detach-on-fork=on) > gdbserver: report correct status in thread stop race condition > gdb/remote: remove_new_fork_children don't access > target_waitstatus::child_ptid if kind == > TARGET_WAITKIND_THREAD_EXITED > gdb: resume ongoing step after handling fork or vfork > > gdb/infcmd.c | 2 +- > gdb/inferior.h | 8 +- > gdb/infrun.c | 212 ++++++++++++++++-- > gdb/infrun.h | 14 +- > gdb/linux-nat.c | 17 +- > gdb/remote.c | 7 +- > .../gdb.threads/next-fork-other-thread.c | 86 +++++++ > .../gdb.threads/next-fork-other-thread.exp | 116 ++++++++++ > .../gdb.threads/vfork-multi-inferior-sleep.c | 25 +++ > .../gdb.threads/vfork-multi-inferior.c | 55 +++++ > .../gdb.threads/vfork-multi-inferior.exp | 115 ++++++++++ > .../gdb.threads/vfork-multi-thread.c | 74 ++++++ > .../gdb.threads/vfork-multi-thread.exp | 96 ++++++++ > gdbserver/linux-low.cc | 60 +++-- > 14 files changed, 806 insertions(+), 81 deletions(-) > create mode 100644 gdb/testsuite/gdb.threads/next-fork-other-thread.c > create mode 100644 gdb/testsuite/gdb.threads/next-fork-other-thread.exp > create mode 100644 gdb/testsuite/gdb.threads/vfork-multi-inferior-sleep.c > create mode 100644 gdb/testsuite/gdb.threads/vfork-multi-inferior.c > create mode 100644 gdb/testsuite/gdb.threads/vfork-multi-inferior.exp > create mode 100644 gdb/testsuite/gdb.threads/vfork-multi-thread.c > create mode 100644 gdb/testsuite/gdb.threads/vfork-multi-thread.exp > > > base-commit: e2c0149e8b0ce12accb8f4b02cbbeff3e91e4737