[Lldb-commits] [PATCH] D62931: [lldb-server] Add setting to force 'g' packet use

Pavel Labath via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Tue Jul 30 02:53:24 PDT 2019

labath requested changes to this revision.
labath added a comment.
This revision now requires changes to proceed.

Hm... this patch spectacularly fails for me with about 100 failures. Are you sure you ran the test suite with this change?

I took a brief look at `x86-64-ymm-write.test` as it was easiest to debug. It looks like the test fails with: `error: Failed to write register 'ymm0' with value '{0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f 0x10 0x11 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f}'`

After enabling the gdb-remote log, I see that lldb now attempts to implement the "register write" command via the `G` packet, and lldb-server does not support that. If we want this new setting to control register writing as well, then I guess we'll need to add appropriate support in lldb-server. However, it that case we might also need to fix register writing in lldb in this scenario, as I did not see lldb issueing a `g` command before `G`, which leads me to believe that some of the `G` data was garbage.

Due to the potential need to issue a `g` packet before we write a single register (i.e., issue two large packets instead of a single small packet), I don't think we should tie the usage of `g` and `G` together. I haven't looked at what it would take to implement that though...

  rG LLVM Github Monorepo



More information about the lldb-commits mailing list