Skip to content

Fix GDB MI register parsing for XMM/YMM and unavailable values#1022

Merged
xusheng6 merged 1 commit intodevfrom
test_gdb_mi_xmm_regs
Mar 19, 2026
Merged

Fix GDB MI register parsing for XMM/YMM and unavailable values#1022
xusheng6 merged 1 commit intodevfrom
test_gdb_mi_xmm_regs

Conversation

@xusheng6
Copy link
Copy Markdown
Member

Summary

  • Handle <unavailable> register values gracefully (return 0 instead of logging an error)
  • Parse XMM composite struct values by extracting the uint128 = 0x... field
  • Parse YMM composite struct values by combining v2_int128 = {0xHIGH, 0xLOW} fields into a 256-bit value

Test plan

  • Attach to a gdbserver target and verify no "Failed to parse GDB value" errors for vector registers
  • Verify XMM register values are correctly displayed
  • Verify YMM register values are correctly displayed
  • Test with a target that has unavailable registers

🤖 Generated with Claude Code

…ilable values

ParseGdbValue now handles three additional cases from GDB's -data-list-register-values output:
- <unavailable> markers (returned for inaccessible registers)
- XMM composite structs (extracts uint128 field)
- YMM composite structs (combines v2_int128 high/low fields)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@xusheng6
Copy link
Copy Markdown
Member Author

Fixes: #1021

@xusheng6 xusheng6 merged commit 8186cfb into dev Mar 19, 2026
@xusheng6 xusheng6 deleted the test_gdb_mi_xmm_regs branch March 19, 2026 04:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant