This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
address space support
- From: Doug Evans <dje at sebabeach dot org>
- To: gdb at sourceware dot org
- Date: Sat, 19 Apr 2008 09:38:26 -0700
- Subject: address space support
At Transmeta we had a hack to implement address spaces. I.e.,
CORE_ADDR isn't enough to fully describe all the bits of "memory" one
might want to examine. One could do things like "x/x
<addr-space-name>:<address>". Using that we also hacked in support for
x86 segments, so one could do "x/x fs:1234".
We didn't want to maintain a ton of local mods so we took a minimalist
route. Other ways that have been discussed in the past are things like
turning CORE_ADDR into a struct:
typedef struct { int address_space ; OLD_CORE_ADDR address; } NEW_CORE_ADDR;
or some such (appropriately typed, named, etc.).
But that's a ton of work, and not necessarily a maintainable way to go
(the common case is addresses are just ints). Hacking CORE_ADDR by
putting the address space in the upper bits doesn't necessarily work either.
So I don't have a specific proposal, I'm just taking a survey of where
things have left off.