Quuxplusone / LLVMBugzillaTest

0 stars 0 forks source link

Correct vFile:pread/pwrite packet format incompatibility with gdb #46789

Open Quuxplusone opened 3 years ago

Quuxplusone commented 3 years ago
Bugzilla Link PR47820
Status NEW
Importance P normal
Reported by David Spickett (david.spickett@linaro.org)
Reported on 2020-10-13 06:55:40 -0700
Last modified on 2020-10-14 04:26:12 -0700
Version 11.0
Hardware All All
CC jdevlieghere@apple.com, llvm-bugs@lists.llvm.org
Fixed by commit(s)
Attachments
Blocks
Blocked by
See also
This is derived from discussion on: https://reviews.llvm.org/D89227

Where I updated the docs to say that vFile:pread/pwrite use different number
formats in gdb and lldb.

The protocol specification requires hex formatted numbers (no mention of 0x
prefix or not)
gdb/gdb-server send/expect to get hex numbers without an 0x prefix
lldb/lldb-server send decimal numbers and expect to get either decimal numbers
or hex with the 0x prefix

Plan to fix this: (from labath's comment)
* Change lldb to send hex with 0x prefix, wait a while
* Change lldb-server to always expect hex (0x prefix or otherwise), wait again
* Change lldb to send hex *without* the 0x prefix

Which gets us to matching gdb.

Waiting some time allows us to keep some compatibility going between old
clients and new servers. I'm interpreting this to mean wait a release between
each one.
Quuxplusone commented 3 years ago

After discussion a soloution involving querying formats in qSupported looks like the better way to go.

See comments on https://reviews.llvm.org/D89227