[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