From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) by sourceware.org (Postfix) with ESMTPS id 4EF493857C48 for ; Wed, 2 Sep 2020 18:00:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4EF493857C48 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=gmx.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=n54@gmx.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1599069608; bh=kXUVq4huCzI5ZndNhbtMYbiGpUJ2DKAOFLQRoOrdYwI=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date; b=Z+T1eXNnmy0six3jSzHCIEAqQocvt3KhsRAENx2vM3DK+s5xjM/tT0r+00aga/cAn gkD5HHgedzovEeXSx38dJcfPEehhaTikFpd3N34mpVsb+sQ6fa+Dg4KmE38poAlh5c Pe+Unaxs6S/faHlUIIEHG5llpZlClV+zdLDDNGLY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from localhost.localdomain ([89.79.191.25]) by mail.gmx.com (mrgmx104 [212.227.17.174]) with ESMTPSA (Nemesis) id 1MkHQX-1kswOv2SgT-00kiBO; Wed, 02 Sep 2020 20:00:08 +0200 From: Kamil Rytarowski To: gdb-patches@sourceware.org Subject: [PATCH 00/10] Add minimal NetBSD/amd64 gdbserver support Date: Wed, 2 Sep 2020 19:59:16 +0200 Message-Id: <20200902175926.13182-1-n54@gmx.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:cixlsULcuXJ0e5S2Bed1t97tUs9N1FfO3hDQkFv7bnz2tguaUX4 j2s5bgzWGxUbsSFerKPnArBTtLZDE4lvEwUCCO80rfC0/nsooEaMmeTYSoNxsDchKi3/gkb 2WVEMXIiA+QyIGWKjRAcJS0CWwBSIDmDyjU2RTptCCucY4Ljjw9Mhv5P13blczRmoDCVkLB iMFSz/6I5e6j9FuL03o1Q== X-UI-Out-Filterresults: notjunk:1;V03:K0:qm2trfa5o1E=:dB3AdYFH8PV7JllHj0PCIU /86WqJfn5a8PISzy6+gNwERuHkUItkizK9YvHFY9YoZwdMO+fKDpJq8a0jdjGBPe32K0EMOLQ t7ViY7RMUl1Mmq8rBbqQQEktNPpCiXq17Noe2LUszJmviTLNiinEkCNaDR2qrzjk7nBOteHQQ DDAK8LIy3+KMTGuS1cC+uroh0qe5Cwa0o3GBmuFCnQLi6uaGzO5j8ykB4g4FcUTzqdsO5IFWt AAlhjgZT8d3VeAxMccOVsCkm9NW7cDCKyK3X0ILW8Ym8EUlXMcgTnnw4jK1TFjpP2MMPGGmrh Z5glewXBa37SOP9EFWgq5QDG1D35SNqJBfIkY77leMuOHu02AWt9uqXucVbTplF8eFmboepzo NuzC6yt4nt4nHZeCC/H7qV6SwZJZe31/HCd/teFiCWVFpv0TOYqn66Wf3avNseWxfNIYaZY/N LOLNPxDlvR7Cq6ww4EY1C7A2KE3Ph6/+YvuuRehs1X+MYco17K1eM5ephG7Ges09YbyZh5QwU aMFYc8nnxvu18TbQvldhHnm7naoFvuMBppbOlDBjM7gjwJqPDxurR1Z+nCw3wceLL9ZWUc7B4 eqIvLlRF3SpCaW6asVEC1PSlblmvEiythE9h+ocxTbc5kIDTgkEO/SgveDynv8KHeZ6jHuFRc mAVVjxLZAiAxzHGX/svOKeBQBuyuYA+iRyXH8hmbsMx22cT+XFRdt8zKqn9PblbGDGESrFEYW bYDcnNl/sXJBWO5Y5WvEUWjsPH8OQcXjK5ZC8CG0v32luw3OdHm3F4irZjxiwLVKrunjccoAP tcK4+b+g31uV/ARI1pDmH/mT345a3zNXRWHmoCEEnsNd2hCPTofVNV6I4t86b7Z/3Vtf3cVPl LhC6FLmN9Har8O7FK+npSYJKzMWv9c4s146Yl6ndcU0R3OrvuoGas6SPJQsR10c1W3QDArf33 K3cCmxWa5LlyDsmvzxTjzhwbWodbsOpasXQ/yzXFVaspkP1++thzvomPfX1XrDzOSBfbKfrHt m2d6ZIN5dyWQgtkJN7SWh6fHA8ClckyknP8U28E9kg7MIG3hCGG+thgiLg7oY/Tnf69NcHE3H ViEMHr1YePSs3+WeU/Gmr/sDxa3EHjDapgD4/4kq6Y7yxz6GdkG6ZP+xfpNZzBXh0cdJbxT1e y5kTXphkzkGTwt4aqCoYbmbcP0lc1MZdKSYYDuIS8ZaFrq4alUNSVQcqAKS9Qezx/gDQ/PcSs H2ZcNLkL2XpF5b0zt X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=no autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) 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, 02 Sep 2020 18:00:12 -0000 Extract reusable functionality from gdb/nbsd-nat.c into gdb/nat/netbsd-nat.c and switch the gdb/nbsd-nat.c functions (nbsd_nat_target::pid_to_exec_file, nbsd_nat_target::thread_alive, nbsd_nat_target::thread_name, nbsd_nat_target::post_startup_inferior, nbsd_nat_target::post_attach, nbsd_nat_target::xfer_partial, nbsd_add_threads) to gdb/nat. Add handle_eintr in gdbsupport to wrap syscalls and EINTR handling. Add NetBSD/amd64 gdbserver support Implement the following functionality: create_inferior, post_create_inferior, attach, kill, detach, mourn, join, thread_alive, resume, wait, fetch_registers, store_registers, read_memory, write_memory, request_interrupt, supports_read_auxv, read_auxv, supports_hardware_single_step, sw_breakpoint_from_kind, supports_z_point_type, insert_point, remove_point, stopped_by_sw_breakpoint, supports_qxfer_siginfo, qxfer_siginfo, supports_stopped_by_sw_breakpoint, supports_non_stop, supports_multi_process, supports_fork_events, supports_vfork_events, supports_exec_events, supports_disable_randomization, supports_qxfer_libraries_svr4, qxfer_libraries_svr4, supports_pid_to_exec_file, pid_to_exec_file, thread_name, supports_catch_syscall. The only CPU architecture supported: x86_64. Implement only support for hardware assisted single step and software breakpoint. Implement support only for regular X86 registers, thus no FPU. Kamil Rytarowski (10): Add handle_eintr to wrap EINTR handling in syscalls Register a placeholder for NetBSD shared functions in gdb/nat Build nat/netbsd-nat.o for the NetBSD native target Add netbsd_nat::pid_to_exec_file Add gdb/nat common functions for listing threads Add netbsd_nat::enable_proc_events in gdb/nat Add a common utility function to read and write siginfo_t in inferior Avoid double free in startup_inferior Switch local native code to gdb/nat shared functions Add minimal and functional NetBSD/amd64 gdbserver gdb/ChangeLog | 47 ++ gdb/configure.nat | 2 +- gdb/nat/fork-inferior.c | 5 +- gdb/nat/netbsd-nat.c | 213 +++++ gdb/nat/netbsd-nat.h | 46 ++ gdb/nbsd-nat.c | 147 +--- gdbserver/ChangeLog | 9 + gdbserver/Makefile.in | 3 + gdbserver/configure.srv | 7 + gdbserver/netbsd-low.cc | 1352 ++++++++++++++++++++++++++++++++ gdbserver/netbsd-low.h | 157 ++++ gdbserver/netbsd-x86_64-low.cc | 250 ++++++ gdbsupport/ChangeLog | 4 + gdbsupport/eintr.h | 41 + 14 files changed, 2147 insertions(+), 136 deletions(-) create mode 100644 gdb/nat/netbsd-nat.c create mode 100644 gdb/nat/netbsd-nat.h create mode 100644 gdbserver/netbsd-low.cc create mode 100644 gdbserver/netbsd-low.h create mode 100644 gdbserver/netbsd-x86_64-low.cc create mode 100644 gdbsupport/eintr.h =2D- 2.28.0