[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