[Lldb-commits] [lldb] [lldb] Override default struct layout when building register types (PR #189590)
Sergei Barannikov via lldb-commits
lldb-commits at lists.llvm.org
Tue Apr 14 07:57:00 PDT 2026
================
@@ -28,31 +28,18 @@ static void dump_type_value(lldb_private::CompilerType &fields_type, T value,
lldb_private::Stream &strm) {
lldb::ByteOrder target_order = exe_scope->CalculateProcess()->GetByteOrder();
- // For the bitfield types we generate, it is expected that the fields are
- // in what is usually a big endian order. Most significant field first.
- // This is also clang's internal ordering and the order we want to print
- // them. On a big endian host this all matches up, for a little endian
- // host we have to swap the order of the fields before display.
- if (target_order == lldb::ByteOrder::eByteOrderLittle) {
- value = reg_info.flags_type->ReverseFieldOrder(value);
- }
-
- // Then we need to match the target's endian on a byte level as well.
+ // The type will be rendered in the target's type system, so it must match
+ // its endian.
if (lldb_private::endian::InlHostByteOrder() != target_order)
value = llvm::byteswap(value);
----------------
s-barannikov wrote:
I'll just throw it in in case this can be of any help:
https://github.com/llvm/llvm-project/commit/b3396c5e96f366ba85daf5f6404f18eb8a467aea#diff-ce62af96dbb8245b60b05b63a9512a07cafa19eae6ed0c912b25f26f7a16b025R492
I'm trying to be helpful to the extent I can (given my little knowledge of lldb internals yet), sorry if I'm just creating noise :)
https://github.com/llvm/llvm-project/pull/189590
More information about the lldb-commits
mailing list