ARM and virtual/raw registers

Andrew Cagney ac131313@cygnus.com
Fri May 10 12:07:00 GMT 2002


>> Now obviously, in order to do all this correctly the stack-frame groveller will have to record the information as it unwinds the stack in some private data; but creating this information is part of the stack-unwinding process.

> 
> Yes.  The arm would need to implement a custom get_saved_register() architecture method.
> 
> Rather than normalize the registers on the way in.  Consider normalizing them them on the way out via a pseudo.  Doing this would mean that the raw register wouldn't be directly visible and the layer below regcache wouldn't need to normalize anything.

[to expand a little]

Two target side interfaces (at least) don't have mechanisms for 
re-aranging (normalizing) registers on the way in:
	- sim
	- remote
I suspect that at least short term, doing everything on the gdb-core 
side will be easier.

Having the very raw data in the cache may also prove better for 
debugging - both the raw (in cache) and the normalized (via register 
read/write) formats are available.  Perhaphs also look at the i387 which 
normalizes things on the way in (and its bug count).

enjoy,
Andrew



More information about the Gdb mailing list