From patchwork Wed Nov 28 18:00:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John Baldwin X-Patchwork-Id: 30366 Received: (qmail 86550 invoked by alias); 28 Nov 2018 18:00:58 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 86491 invoked by uid 89); 28 Nov 2018 18:00:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_HELO_PASS, SPF_SOFTFAIL autolearn=ham version=3.3.2 spammy=Systems X-HELO: mail.baldwin.cx Received: from bigwig.baldwin.cx (HELO mail.baldwin.cx) (96.47.65.170) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 28 Nov 2018 18:00:51 +0000 Received: from John-Baldwins-MacBook-Pro-2.local (ralph.baldwin.cx [66.234.199.215]) by mail.baldwin.cx (Postfix) with ESMTPSA id A377610B707; Wed, 28 Nov 2018 13:00:49 -0500 (EST) Subject: Re: [PATCH v3 2/3] Add an optional "alias" attribute to syscall entries. To: Eli Zaretskii References: <20181109200432.84491-1-jhb@FreeBSD.org> <20181109200432.84491-3-jhb@FreeBSD.org> <83efbuattx.fsf@gnu.org> <650590ef-3036-57a8-6cd5-abaa5654add3@FreeBSD.org> <34fcc769-4533-31bf-d258-36c6110037e0@redhat.com> <766d8293-d021-ce40-219e-f5a832b46fa7@FreeBSD.org> <83r2f5drm4.fsf@gnu.org> Cc: palves@redhat.com, gdb-patches@sourceware.org From: John Baldwin Openpgp: preference=signencrypt Message-ID: <24c28a03-e548-daac-1ad9-47d0f31eb13e@FreeBSD.org> Date: Wed, 28 Nov 2018 10:00:48 -0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <83r2f5drm4.fsf@gnu.org> X-IsSubscribed: yes On 11/28/18 9:44 AM, Eli Zaretskii wrote: >> Cc: gdb-patches@sourceware.org >> From: John Baldwin >> Date: Wed, 28 Nov 2018 09:22:22 -0800 >> >> Yes, I think this is better as well. Eli, I don't know if other OS's will >> make use of this feature. Given Pedro's new text above, do you think it >> should still be moved into a native section or should it stay in the the >> syscall section? > > I question the need to make this text more general than this feature > will ever become. But if Pedro thinks we will have similar aliases on > other OSes, then sure, do it as Pedro suggests. Oh, I was just referring to Pedro's version being shorter. I'm fine with moving it. This is a bit longer as it restores a bit of the FreeBSD-specific note about syscall ABIs but that seemed relevant when moving it: diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 944a2c4383..c60c2b80c4 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -22329,6 +22329,7 @@ configurations. * Cygwin Native:: Features specific to the Cygwin port * Hurd Native:: Features specific to @sc{gnu} Hurd * Darwin:: Features specific to Darwin +* FreeBSD:: Features specific to FreeBSD @end menu @node BSD libkvm Interface @@ -23214,6 +23215,26 @@ better understand the cause of a fault. The default is off. Show the current state of exceptions trapping. @end table +@node FreeBSD +@subsection FreeBSD +@cindex FreeBSD + +When the ABI of a system call is changed in the FreeBSD kernel, this +is implemented by leaving a compatibility system call using the old +ABI at the existing number and allocating a new system call number for +the version using the new ABI. As a convenience, when a system call +is caught by name, compatibility system calls are also caught. + +For example, FreeBSD 12 introduced a new variant of the @code{kevent} +system call and catching the @code{kevent} system call by name catches +both variants: + +@smallexample +(@value{GDBP}) catch syscall kevent +Catchpoint 1 (syscalls 'freebsd11_kevent' [363] 'kevent' [560]) +(@value{GDBP}) +@end smallexample + @node Embedded OS @section Embedded Operating Systems