From 7a7217dcd7df74376201ebd50ca6b414f28f7dc6 Mon Sep 17 00:00:00 2001 From: Vadim Skipin Date: Thu, 18 Jun 2026 08:47:19 +0000 Subject: [PATCH] Fix handling flag registers in fiber-savecontext --- src/gdb/fiber.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gdb/fiber.py b/src/gdb/fiber.py index c0ddda3..065d04b 100644 --- a/src/gdb/fiber.py +++ b/src/gdb/fiber.py @@ -437,7 +437,13 @@ def emit(ptr): def _get_reg(name): - return int(gdb.parse_and_eval(f"${name}")) + value = gdb.parse_and_eval(f"${name}") + try: + return int(value) + except gdb.error: + # Flag registers (x86 eflags, arm64 pstate) are TYPE_CODE_FLAGS, which + # int() rejects; the C-cast evaluator coerces them to an integer. + return int(gdb.parse_and_eval(f"(unsigned long)${name}")) def _set_reg(name, value):