[RFC/RFA] avoid spurious Watchpoint X output on cygwin native target.
Daniel Jacobowitz
drow@mvista.com
Mon Jul 15 09:42:00 GMT 2002
On Mon, Jul 15, 2002 at 06:15:01PM +0200, Pierre Muller wrote:
>
> The following patch suppresses all
> spurious output when a DLL is loaded in native cygwin GDB.
>
> Its a RFC for two reasons:
>
> First reason:
> Question: Why do we currently get ouptut while loading a DLL
> while the safe_symbol_file_add does redefine gdb_stdout and
> gdbstderr to dummy output exactly to suppress all output?
>
> Answer: Because, despite gdb_stdout is redefined as a
> dummy file does noting with the strings it gets
> (and thus is a correct way of suppressing ouptut
> sent to gdb_stdout), the Watchpoint X...
> message is sent to uiout struct
> (see mention function in breakpoint.c source)
> The only question here is if a change of gdb_stdout should not
> also change the global uiout variable behavior.
> This could easily be achieved by replacing
> the stream field of the data field of ui_out struct into a
> '** ui_file' instead of a simple '*ui_file'.
>
> Is that complete nonsense, or does it seem logical to someone?
>
> (One argument for this is that you get the same unwanted output on
> loading of shared libraries on linux for instance ...)
>
>
> Here is the win32 specific patch and the associated changelog.
>
> 2nd reason: It does not free the uiout struct created because I didn't find
> how to free this cleanly.
This is an amusing coincidence, I discovered the same thing yesterday,
working on a different patch.
I believe that uiout should write to gdb_stdout no matter what instead
of saving a stream, and that things which wish to change where output
goes should redirect gdb_stdout. Your patch is definitely suspect,
because the current uiout might not be CLI; I don't know that it
matters for your case, although it definitely did for mine.
--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer
More information about the Gdb-patches
mailing list