Re: interface to partial support for DW_OP_piece in dwarf2expr.[ch]

Jim Blandy
2004-08-05T14:31:13Z

Mark Kettenis <kettenis@jive.nl> writes:
> It seems worthwhile to me, because it will allow GDB to work
> correctly, assignments and all, in the cases where the current value
> structures can handle it, and it's very little work. At some point,
> resources will materialize to do the larger project, but what's the
> harm in getting the best behavior we can out of the current structures
> until then?
>
> The harm is introducing hacks that are very hard to remove in the
> feature. GDB is full of such hacks, and apart from Andrew nobody
> seems to actively work on trying to remove these. We really don't
> need any more of them.

That is a good argument for not adding something. But this will be
trivial to remove. You'll just delete it.

Once 'struct value' can handle arbitrary piece lists, there will be no
need to try to reduce Dwarf expression results to a simpler form.
You'll instead have arch-independent code that takes any result of
Dwarf location expression evaluation and produces an assignable value.
Every case that the reduction arch method would handle will be
supported by arch-independent code instead. So if the intermediate
step of reducing piece lists we couldn't formerly handle to locations
we could simply stops happening, there will be no visible change in
behavior.

We know the cases supported by the arch-independent code will be a
superset of the cases supported by the arch-dependent reducer. The
latter can only support cases that can be reduced to our current
'struct value', and the arch-independent implementation will extend
that.

Again, I don't see any need for GDB to be broken until the larger
project is complete. GDB is broken for targets today that could use
this reduction method.