diff options
author | Jason Eckhardt <jason.eckhardt@solana.com> | 2024-01-29 08:22:22 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-29 09:22:22 -0500 |
commit | d93f850c6f11aa315c83a34ec59210e1755528f8 (patch) | |
tree | 8291be2f76e71f835bd7cba8607eb22c745921dc /lldb/source/Plugins/ScriptInterpreter/Python | |
parent | a372460538595d4c5a769c4c248fe7b1b4d69882 (diff) | |
download | llvm-d93f850c6f11aa315c83a34ec59210e1755528f8.zip llvm-d93f850c6f11aa315c83a34ec59210e1755528f8.tar.gz llvm-d93f850c6f11aa315c83a34ec59210e1755528f8.tar.bz2 |
[TableGen] Extend OPC_ExtractField/OPC_CheckField start value widths. (#79723)
Both OPC_ExtractField and OPC_CheckField are currently defined to take
an unsigned 8-bit start value. On some architectures with long
instruction words, this value can silently overflow, resulting in a bad
decoder table.
This patch changes each to take a ULE128B-encoded start value instead.
Additionally, a range assertion is added for the 8-bit length to
prominently notify a user in case that field ever overflows.
This problem isn't currently exposed upstream since all in-tree targets
use small instruction words (i.e., bitwidth <= 64 bits). It does show up
in at least one downstream target with instructions > 64 bits long.
Co-authored-by: Jason Eckhardt <jeckhardt@nvidia.com>
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions