[Lldb-commits] [PATCH] D92063: [LLDB] RegisterInfoPOSIX_arm64 remove unused bytes from g/G packet

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Nov 26 01:53:36 PST 2020

labath added a comment.

(I haven't looked at the new changes yet.)

In D92063#2417948 <https://reviews.llvm.org/D92063#2417948>, @mgorny wrote:

> I disagree. Since we're repeating gdb protocol, it would be nice to use offsets consistent with the gdb protocol, even if it means some extra padding.

I'm not sure what you mean by that. Are you implying that the gdb protocol (as implemented by gdb, let's say) does indeed have this padding in its `g` packet?

The point of this patch series is to make the our `g` packet more consistent with the "official" gdb-remote definition. The motivation for that are the SVE registers on arm which have a length that can change at runtime. The point of this makes the "offset" fields in the qRegisterInfo packets (and target.xml) meaningless. So we made a choice to just stop using them (in the packets, we still obviously need to know where the registers go) and have the client recompute the offsets according to the official algorithm. This means that there can be no random gaps in the packet data. The goal is to make the SVE implementation possible/saner and also bring us closer to the gdb's definition of these packets (which does not include an "offset" field in its target.xml).



More information about the lldb-commits mailing list