aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorDavid Spickett <david.spickett@linaro.org>2021-06-25 14:29:12 +0100
committerDavid Spickett <david.spickett@linaro.org>2021-07-30 11:06:57 +0100
commit555cd03193c9c098d787bec93eadfe43b179db9c (patch)
tree8ec74cce871167865435c339b3ea1128d4b6de7d /clang/lib/Frontend/CompilerInvocation.cpp
parenta2186277be1c97ea5c2da890b06cc22b82ffb1a4 (diff)
downloadllvm-555cd03193c9c098d787bec93eadfe43b179db9c.zip
llvm-555cd03193c9c098d787bec93eadfe43b179db9c.tar.gz
llvm-555cd03193c9c098d787bec93eadfe43b179db9c.tar.bz2
[lldb] Correct format of qMemTags type field
The type field is a signed integer. (https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html) However it's not packed in the packet in the way you might think. For example the type -1 should be: qMemTags:<addr>,<len>:ffffffff Instead of: qMemTags:<addr>,<len>:-1 This change makes lldb-server's parsing more strict and adds more tests to check that we handle negative types correctly in lldb and lldb-server. We only support one tag type value at this point, for AArch64 MTE, which is positive. So this doesn't change any of those interactions. It just brings us in line with GDB. Also check that the test target has MTE. Previously we just checked that we were AArch64 with a toolchain that supports MTE. Finally, update the tag type check for QMemTags to use the same conversion steps that qMemTags now does. Using static_cast can invoke UB and though we do do a limit check to avoid this, I think it's clearer with the new method. Reviewed By: omjavaid Differential Revision: https://reviews.llvm.org/D104914
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions