Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Kamil Rytarowski <n54@gmx.com>
To: Christian Biesinger <cbiesinger@google.com>
Cc: gdb-patches <gdb-patches@sourceware.org>
Subject: Re: [PATCH 2/3 v2] Define _KMEMUSER in arm-nbsd-nat.c
Date: Fri, 24 Jan 2020 15:36:00 -0000	[thread overview]
Message-ID: <7432896e-39ec-4a99-cc07-77c684b71644@gmx.com> (raw)
In-Reply-To: <CAPTJ0XHvrbY6ObK2Xd=R3512O_GYgLRYOQBOeHZ=hF_G6o2TBg@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 3100 bytes --]

On 24.01.2020 15:53, Christian Biesinger via gdb-patches wrote:
> Hi Kamil,
> 
> I have a related question. NetBSD applied this patch:
> https://www.mail-archive.com/tech@openbsd.org/msg44100.html
> 

Is this the right link?

> Do you know which NetBSD version that shipped in? Can we apply that
> patch to GDB as-is or should we attempt to support the older struct
> layout as well?

Please go for the current FPU layout on NetBSD. Massive ptrace(2) fixes
were introduced in NetBSD-8 and later. Soon NetBSD 7.x will go EOL
(after releasing 9.0, rc2 is planned soon).

In LLDB we support NetBSD 9.0 or newer. In GDB we should keep the same
minimal requirements and deal with older NetBSD versions (if at all)
with downstream patches.

We have got a pile of local GDB patches.

There is also a functional gdbserver implementation on NetBSD/amd64 and
I intend to upstream it. (Help wanted! Would you be interested in this
and in upstreaming?)

The patches are located here:

https://github.com/NetBSD/pkgsrc-wip/tree/master/gdb-netbsd/patches

* with core/basic features... but it is difficult as there is no OS with
finished transition...
https://sourceware.org/gdb/wiki/LocalRemoteFeatureParity

> 
> Thanks,
> Christian
> 
> On Fri, Jan 24, 2020 at 3:29 PM Kamil Rytarowski <n54@gmx.com> wrote:
>>
>> On 24.01.2020 15:18, cbiesinger@chromium.org wrote:
>>> From: Christian Biesinger <cbiesinger@google.com>
>>>
>>> Fixes the below compile error on ARM NetBSD 9.0_RC1 (the only version I
>>> tested).  types.h does not define register_t by default.
>>>
>>> We already use this define elsewhere, notably in bsd-kvm.c.
>>>
>>> In file included from ../../gdb/arm-nbsd-nat.c:28:
>>> /usr/include/machine/frame.h:54:2: error: unknown type name 'register_t'; did you mean '__register_t'?
>>>         register_t tf_spsr;
>>>         ^
>>> /usr/include/machine/types.h:77:14: note: '__register_t' declared here
>>> typedef int             __register_t;
>>>                         ^
>>>
>>> There are other compile errors that this does not fix.
>>>
>>> gdb/ChangeLog:
>>>
>>> 2020-01-24  Christian Biesinger  <cbiesinger@google.com>
>>>
>>>       * arm-nbsd-nat.c: Define _KMEMUSER to get the declaration of
>>>       register_t.
>>>
>>> Change-Id: I82c21d38189ee59ea0af2538ba84b771d268722e
>>> ---
>>>  gdb/arm-nbsd-nat.c | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/gdb/arm-nbsd-nat.c b/gdb/arm-nbsd-nat.c
>>> index 00f919194b..4844b51a3c 100644
>>> --- a/gdb/arm-nbsd-nat.c
>>> +++ b/gdb/arm-nbsd-nat.c
>>> @@ -17,6 +17,8 @@
>>>     You should have received a copy of the GNU General Public License
>>>     along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>>>
>>> +/* We define this to get types like register_t.  */
>>> +#define _KMEMUSER
>>>  #include "defs.h"
>>>  #include "gdbcore.h"
>>>  #include "inferior.h"
>>>
>>
>> While gdb is the right user for _KMEMUSER, here we should probably go
>> for -D_KERNTYPES as it is the canonical symbol for register_t.
>>



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2020-01-24 15:23 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-24 14:15 [PATCH 0/3] Fix some ARM NetBSD compile errors cbiesinger
2020-01-24 14:15 ` [PATCH 3/3] Make the class name in the definition match the declaration cbiesinger
2020-01-24 14:54   ` Kamil Rytarowski
2020-01-24 15:06   ` Tom Tromey
2020-01-24 15:49     ` Christian Biesinger via gdb-patches
2020-01-24 14:15 ` [PATCH 1/3] Support the NetBSD version of pthread_setname_np cbiesinger
2020-01-24 14:59   ` Kamil Rytarowski
2020-01-24 15:04   ` Tom Tromey
2020-01-24 14:18 ` [PATCH 2/3] Define _KMEMUSER in arm-nbsd-nat.c cbiesinger
2020-01-24 14:22   ` [PATCH 2/3 v2] " cbiesinger
2020-01-24 14:32     ` Kamil Rytarowski
2020-01-24 14:34       ` Christian Biesinger via gdb-patches
2020-01-24 14:36         ` [PATCH v3 2/3] Define _KERNTYPES " cbiesinger
2020-01-24 15:04           ` Tom Tromey
2020-01-24 14:58       ` [PATCH 2/3 v2] Define _KMEMUSER " Christian Biesinger via gdb-patches
2020-01-24 15:36         ` Kamil Rytarowski [this message]
2020-01-24 15:37           ` Christian Biesinger via gdb-patches
2020-01-24 15:49             ` Kamil Rytarowski
2020-01-24 16:25               ` Christian Biesinger via gdb-patches
2020-01-24 16:45                 ` Kamil Rytarowski
2020-01-27 21:28                   ` Christian Biesinger via gdb-patches
2020-02-05 18:02                     ` Christian Biesinger via gdb-patches
2020-02-06 13:25                       ` Kamil Rytarowski
2020-02-06 13:19                     ` Kamil Rytarowski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7432896e-39ec-4a99-cc07-77c684b71644@gmx.com \
    --to=n54@gmx.com \
    --cc=cbiesinger@google.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox