https://github.com/satyajanga created 
https://github.com/llvm/llvm-project/pull/150268

Some gdb remote servers send target.xml that contains 
"""
<reg name='ft0' bitsize='32' type='ieee_single' dwarf_regnum='32'/>
  <reg name='ft1' bitsize='32' type='ieee_single' dwarf_regnum='33'/>
  <reg name='ft2' bitsize='32' type='ieee_single' dwarf_regnum='34'/>
  <reg name='ft3' bitsize='32' type='ieee_single' dwarf_regnum='35'/>
  <reg name='ft4' bitsize='32' type='ieee_single' dwarf_regnum='36'/>
  <reg name='ft5' bitsize='32' type='ieee_single' dwarf_regnum='37'/>
  <reg name='ft6' bitsize='32' type='ieee_single' dwarf_regnum='38'/>
  <reg name='ft7' bitsize='32' type='ieee_single' dwarf_regnum='39'/>
"""

it seems like a valid and supported type in gdb. 
from gdb16.3/gdb/target_descriptions.c (could not find a way to link it).
```
case TDESC_TYPE_IEEE_SINGLE:
          m_type = init_float_type (alloc, -1, "builtin_type_ieee_single",
                                    floatformats_ieee_single);
          return;

case TDESC_TYPE_IEEE_DOUBLE:
          m_type = init_float_type (alloc, -1, "builtin_type_ieee_double",
                                    floatformats_ieee_double);
          return;
```     

>From b7c6fb5fdad30094d76d283c07aa10b5a592c825 Mon Sep 17 00:00:00 2001
From: satya janga <satyaja...@fb.com>
Date: Wed, 23 Jul 2025 09:47:31 -0700
Subject: [PATCH] support ieee_single and ieee_double gdbtypes for registers

---
 lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp 
b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
index a2c34ddfc252e..4c6d584383747 100644
--- a/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
+++ b/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
@@ -4783,7 +4783,8 @@ bool ParseRegisters(
             } else if (gdb_type == "data_ptr" || gdb_type == "code_ptr") {
               reg_info.format = eFormatAddressInfo;
               reg_info.encoding = eEncodingUint;
-            } else if (gdb_type == "float") {
+            } else if (gdb_type == "float" || gdb_type == "ieee_single" ||
+                       gdb_type == "ieee_double") {
               reg_info.format = eFormatFloat;
               reg_info.encoding = eEncodingIEEE754;
             } else if (gdb_type == "aarch64v" ||

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to