From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cagney To: GDB Discussion Subject: Re: A better register interface Date: Fri, 16 Feb 2001 06:48:00 -0000 Message-id: <3A8D3CB1.56F453BA@cygnus.com> References: <004a01c097b1$d149bc90$05d145cc@ppro> <3A8C8D34.A33813EE@cygnus.com> X-SW-Source: 2001-02/msg00210.html Andrew Cagney wrote: > It would consist of roughly: > > core-gdb > \ > cooked-regs your-target > \ / > raw-regs-buffer Actually, try this: context / \ .----. / \ | | / frame---' / / \ continuation / \ | / \ | / \ | memcache regcache | | | .......................................... | | | targ-run targ-mem targ-regs Where: context: The execution thing that the user likes to manipulate. In the simple case it represents a UNIX process with memory, stack and registers. continuation: The per context start/stop state. It keeps track of what the user/GDB is trying to do to a context while the context is running. frame: Frames make up more than just the context stack. When moving between frames, anything could change - the address space, registers, architecture, target. GDB already tries to handle (badly) targets that have architecture changes between frames. memcache: gdb's representation a target's memory address space. regcache: gdb's representation of a target's registers. enjoy, Andrew