Last month there was a thread on supporting DW_OP_piece:
http://sources.redhat.com/ml/gdb/2004-08/msg00004.html
Everyone agreed that having architecture-independent support for
arbitrary DW_OP_piece location expressions would be preferable to the
partial and architecture-dependent support, if someone could find time
to do it soon.
Let's talk about full scattered value support. What's the best
approach? What's entailed? How do we want 'struct value' to look
when we're done? Let's try to set some concrete goals so that if
someone does have the cycles to work on this, they can have some idea
what to work towards so it'll be acceptable for inclusion in the
public sources.
I'm dubious as to whether this step is even worthwhile. Another
possible intermediate step is to immediately combine the pieces,
marking the value as not_lval; read them all and piece them together in
GDB's memory. Yes, this means that they can't be assigned to, but at
least we'd be able to inspect them.