[PATCH 0/6] Refactor the internals of record-full

Guinevere Larsen
2026-04-15T18:59:13Z

This series introduces a refactor and modernization to the record-full
history, moving it form a manually managed doubly-linked list into an
std::deque, which can make better use of caching and might make
execution faster.

The main driving force behind this change is the plan to implement
support for multithreaded inferiors, since each instruction will need to
know the thread that executed it, and it'll be much easier if there is a
more consistent spot to find all this information.

Guinevere Larsen (6):
gdb/record: Refactor record history
gdb/record: remove record_full_insn_num
gdb/record: c++ify internal structures of record-full.c
gdb/record: make record_full_history more c++-like
gdb/record: extract the PC to record_full_instruction
gdb/record: Define new version of the record-save section

gdb/NEWS | 3 +
gdb/aarch64-tdep.c | 2 -
gdb/amd64-linux-tdep.c | 3 -
gdb/arm-tdep.c | 2 -
gdb/i386-linux-tdep.c | 3 -
gdb/i386-tdep.c | 4 -
gdb/loongarch-tdep.c | 2 -
gdb/moxie-tdep.c | 2 -
gdb/ppc-linux-tdep.c | 3 -
gdb/record-full.c | 1623 +++++++++++++++++++---------------------
gdb/record-full.h | 1 -
gdb/riscv-tdep.c | 3 -
gdb/rs6000-tdep.c | 4 -
gdb/s390-linux-tdep.c | 3 -
gdb/s390-tdep.c | 2 -
15 files changed, 756 insertions(+), 904 deletions(-)

base-commit: c0f7609cd19ca79c34a1b68550ceb79ff8189775
--
2.53.0