Re: RFA: Make cli-out follow gdb_stdout

Andrew Cagney
2002-07-22T20:11:17Z

[...]

> Well, that's not helpful in the short term :P
>
> What do you envision by explicitly parametrized i/o object? I really
> don't think that's a good idea. It would have to be passed down all
> the way to every target function which might want to print some kind of
> output. That's a lot of bulk for no visible gain; somewhere down the
> road if we supported multiple instantiations of the gdb library, maybe,
> but we're so far away from that that this sort of direction seems
> futile, until we are at least passing an object cookie everywhere.

As they say, I don't yet know. I think it is pretty clear that the I/O
is just one part of this state problem. Since of thread, frame,
register cache, ... are heavily dependant on state implemented with
globals a guess is an object (or object relationship) that contains that
state. In the mean time we need to ensure that we're not entrenching
the problem (eg by adding another bit of code assuming global state).

For the immediate problem, the intent is for catch_exceptions() to be
used when overriding gdb's I/O. Given, looking at the code, it too
fails to keep that assertion (oops):

> global uiout->stream->ui_file == global gdb_stdout

I think the thing to do is fix catch-exceptions and then use that.

enjoy,
Andrew