This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 2/3] Add an optional "alias" attribute to syscall entries.


On 11/9/18 12:18 PM, Eli Zaretskii wrote:
>> From: John Baldwin <jhb@FreeBSD.org>
>> Date: Fri,  9 Nov 2018 12:04:31 -0800
>>
>> diff --git a/gdb/NEWS b/gdb/NEWS
>> index ff9b192a38..ff225f361e 100644
>> --- a/gdb/NEWS
>> +++ b/gdb/NEWS
>> @@ -38,6 +38,11 @@
>>    requires the use of a keyword.  Selecting a frame by level is
>>    unchanged.  The MI comment "-stack-select-frame" is unchanged.
>>  
>> +* System call catchpoints now support system call aliases.  This is
>> +  used with the FreeBSD system call list so that system call
>> +  catchpoints will also trigger for legacy system call numbers used by
>> +  older FreeBSD binaries.
> 
> IMO, this is very abstract and too vague to be useful.  Since we won't
> have anything more detailed in the manual, would it be possible to
> make this description more concrete?  E.g., how about using some of
> the text and examples you used in your description of the issue:

Ok.  I wasn't too happy with my first attempt either.  I've tried to give
some more detail while not making it too long.  Let me know what you think:

* System call catchpoints now support system call aliases on FreeBSD.
  When the ABI of a system call changes in FreeBSD, 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 new ABI.  For example, FreeBSD 12 altered the layout of 'struct
  kevent' used by the 'kevent' system call.  As a result, FreeBSD 12
  kernels ship with both 'kevent' and 'freebsd11_kevent' system calls.
  The 'freebsd11_kevent' system call is assigned an alias of 'kevent'
  so that a system call catchpoint for the 'kevent' system call will
  catch invocations of both the 'kevent' and 'freebsd11_kevent'
  binaries.  This ensures that 'kevent' system calls are caught for
  binaries using either the old or new ABIs.

-- 
John Baldwin

                                                                            


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]