public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* David Taylor: [RFA] insight gdb_stdlog bug
@ 2001-01-02 11:18 David Taylor
  2001-01-02 11:23 ` Fernando Nasser
  2001-01-12  4:35 ` Andrew Cagney
  0 siblings, 2 replies; 3+ messages in thread
From: David Taylor @ 2001-01-02 11:18 UTC (permalink / raw)
  To: gdb-patches, insight

Just a ping -- I never saw a response to this.

I believe that I need approvals from:

. ezannoni for the change to main.c

. spolk (backup: fnasser, jingham) for the change to gdbtk-hooks.c

. some blanket write priv's maintainer for the tui-file.c change (my
  understanding is that Jimmy Guo has left HP and has no interest in
  continuing GDB TUI maintainership -- please correct me if you know
  otherwise).

------- Forwarded Message

To: insight@sources.redhat.com
cc: gdb-patches@sourceware.cygnus.com
Subject: [RFA] insight gdb_stdlog bug
Date: Wed, 20 Dec 2000 17:52:45 -0500
From: David Taylor <taylor@texas.cygnus.com>

When GDBTK_TO_RESULT is set, insight gobbles all output written to
gdb_stdlog.  But, the stuff written to gdb_stdlog isn't meant to be
parsed by insight -- it's meant to be read by a person.

While it might be desired -- when GDBTK_TO_RESULT is not set -- that
gdb_stdlog go the same place as gdb_stdout, it cannot have the same
pointer value as gdb_stdout or the code won't be able to distinguish
output meant for gdb_stdout vs output meant for gdb_stdlog when
GDBTK_TO_RESULT is set.

The following patch fixes that.  (The result is that output written to
gdb_stdlog appears in the insight console window if it is active.)

ChangeLog entries (3 separate ChangeLog files):

	* main.c (captured_main): Initialize gdb_stdlog to a copy of
 	gdb_stdout rather than to gdb_stdout, so that code can distinguish
 	them.

	* tui/tui-file.c (tui_file_fputs): Handle gdb_stdlog the same
	as gdb_stdout.

	* gdbtk/generic/gdbtk-hooks.c (gdbtk_fputs): Distinguish between
	gdb_stdlog and gdb_stdout.

Index: main.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/main.c,v
retrieving revision 1.207.12.1
diff -c -r1.207.12.1 main.c
*** main.c	2000/11/13 02:10:59	1.207.12.1
- --- main.c	2000/12/20 22:23:25
***************
*** 203,209 ****
       within its own _initialize function.  */
    gdb_stdout = tui_fileopen (stdout);
    gdb_stderr = tui_fileopen (stderr);
!   gdb_stdlog = gdb_stdout;	/* for moment */
    gdb_stdtarg = gdb_stderr;	/* for moment */
  #else
    gdb_stdout = stdio_fileopen (stdout);
- --- 203,209 ----
       within its own _initialize function.  */
    gdb_stdout = tui_fileopen (stdout);
    gdb_stderr = tui_fileopen (stderr);
!   gdb_stdlog = tui_fileopen (stdout); /* for moment */
    gdb_stdtarg = gdb_stderr;	/* for moment */
  #else
    gdb_stdout = stdio_fileopen (stdout);
Index: tui/tui-file.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/tui/tui-file.c,v
retrieving revision 1.5
diff -c -r1.5 tui-file.c
*** tui-file.c	2000/07/30 01:50:07	1.5
- --- tui-file.c	2000/12/20 22:23:25
***************
*** 181,187 ****
       also tui_file_flush(). */
    if (fputs_unfiltered_hook
        && (file == gdb_stdout
! 	  || file == gdb_stderr))
      fputs_unfiltered_hook (linebuffer, file);
    else
      {
- --- 181,188 ----
       also tui_file_flush(). */
    if (fputs_unfiltered_hook
        && (file == gdb_stdout
! 	  || file == gdb_stderr
! 	  || file == gdb_stdlog))
      fputs_unfiltered_hook (linebuffer, file);
    else
      {
Index: gdbtk/generic/gdbtk-hooks.c
===================================================================
RCS file: /cvs/cvsfiles/devo/gdb/gdbtk/generic/gdbtk-hooks.c,v
retrieving revision 1.7
diff -c -r1.7 gdbtk-hooks.c
*** gdbtk-hooks.c	2000/10/23 22:42:01	1.7
- --- gdbtk-hooks.c	2000/12/20 22:23:29
***************
*** 250,256 ****
  
    if (result_ptr != NULL)
      {
!       if (result_ptr->flags & GDBTK_TO_RESULT)
  	{
  	  if (result_ptr->flags & GDBTK_MAKES_LIST)
  	    Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,
- --- 250,258 ----
  
    if (result_ptr != NULL)
      {
!       if (stream == gdb_stdlog)
! 	gdbtk_two_elem_cmd ("gdbtk_tcl_fputs", (char *) ptr);
!       else if (result_ptr->flags & GDBTK_TO_RESULT)
  	{
  	  if (result_ptr->flags & GDBTK_MAKES_LIST)
  	    Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,

------- End of Forwarded Message

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: David Taylor: [RFA] insight gdb_stdlog bug
  2001-01-02 11:18 David Taylor: [RFA] insight gdb_stdlog bug David Taylor
@ 2001-01-02 11:23 ` Fernando Nasser
  2001-01-12  4:35 ` Andrew Cagney
  1 sibling, 0 replies; 3+ messages in thread
From: Fernando Nasser @ 2001-01-02 11:23 UTC (permalink / raw)
  To: David Taylor; +Cc: gdb-patches, insight

David Taylor wrote:
> 
> Just a ping -- I never saw a response to this.
> 
> I believe that I need approvals from:
> 
> . ezannoni for the change to main.c
> 

Elena is on vacations.  I believe your change fall in the "obvious
simple fix"
category though.

> . spolk (backup: fnasser, jingham) for the change to gdbtk-hooks.c

The gdbtk part is approved.  Please note that the ChangeLog to use now
is the one at gdb/gdbtk

> 
> . some blanket write priv's maintainer for the tui-file.c change (my
>   understanding is that Jimmy Guo has left HP and has no interest in
>   continuing GDB TUI maintainership -- please correct me if you know
>   otherwise).
> 

The tui-file.c is still actively used by GDB (there is a cleanup item in
the TODO file to stop using it), so we are maintaining it.

I guess your change here is another simple fix one.

Fernando

> ------- Forwarded Message
> 
> To: insight@sources.redhat.com
> cc: gdb-patches@sourceware.cygnus.com
> Subject: [RFA] insight gdb_stdlog bug
> Date: Wed, 20 Dec 2000 17:52:45 -0500
> From: David Taylor <taylor@texas.cygnus.com>
> 
> When GDBTK_TO_RESULT is set, insight gobbles all output written to
> gdb_stdlog.  But, the stuff written to gdb_stdlog isn't meant to be
> parsed by insight -- it's meant to be read by a person.
> 
> While it might be desired -- when GDBTK_TO_RESULT is not set -- that
> gdb_stdlog go the same place as gdb_stdout, it cannot have the same
> pointer value as gdb_stdout or the code won't be able to distinguish
> output meant for gdb_stdout vs output meant for gdb_stdlog when
> GDBTK_TO_RESULT is set.
> 
> The following patch fixes that.  (The result is that output written to
> gdb_stdlog appears in the insight console window if it is active.)
> 
> ChangeLog entries (3 separate ChangeLog files):
> 
>         * main.c (captured_main): Initialize gdb_stdlog to a copy of
>         gdb_stdout rather than to gdb_stdout, so that code can distinguish
>         them.
> 
>         * tui/tui-file.c (tui_file_fputs): Handle gdb_stdlog the same
>         as gdb_stdout.
> 
>         * gdbtk/generic/gdbtk-hooks.c (gdbtk_fputs): Distinguish between
>         gdb_stdlog and gdb_stdout.
> 
> Index: main.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/main.c,v
> retrieving revision 1.207.12.1
> diff -c -r1.207.12.1 main.c
> *** main.c      2000/11/13 02:10:59     1.207.12.1
> - --- main.c    2000/12/20 22:23:25
> ***************
> *** 203,209 ****
>        within its own _initialize function.  */
>     gdb_stdout = tui_fileopen (stdout);
>     gdb_stderr = tui_fileopen (stderr);
> !   gdb_stdlog = gdb_stdout;    /* for moment */
>     gdb_stdtarg = gdb_stderr;   /* for moment */
>   #else
>     gdb_stdout = stdio_fileopen (stdout);
> - --- 203,209 ----
>        within its own _initialize function.  */
>     gdb_stdout = tui_fileopen (stdout);
>     gdb_stderr = tui_fileopen (stderr);
> !   gdb_stdlog = tui_fileopen (stdout); /* for moment */
>     gdb_stdtarg = gdb_stderr;   /* for moment */
>   #else
>     gdb_stdout = stdio_fileopen (stdout);
> Index: tui/tui-file.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/tui/tui-file.c,v
> retrieving revision 1.5
> diff -c -r1.5 tui-file.c
> *** tui-file.c  2000/07/30 01:50:07     1.5
> - --- tui-file.c        2000/12/20 22:23:25
> ***************
> *** 181,187 ****
>        also tui_file_flush(). */
>     if (fputs_unfiltered_hook
>         && (file == gdb_stdout
> !         || file == gdb_stderr))
>       fputs_unfiltered_hook (linebuffer, file);
>     else
>       {
> - --- 181,188 ----
>        also tui_file_flush(). */
>     if (fputs_unfiltered_hook
>         && (file == gdb_stdout
> !         || file == gdb_stderr
> !         || file == gdb_stdlog))
>       fputs_unfiltered_hook (linebuffer, file);
>     else
>       {
> Index: gdbtk/generic/gdbtk-hooks.c
> ===================================================================
> RCS file: /cvs/cvsfiles/devo/gdb/gdbtk/generic/gdbtk-hooks.c,v
> retrieving revision 1.7
> diff -c -r1.7 gdbtk-hooks.c
> *** gdbtk-hooks.c       2000/10/23 22:42:01     1.7
> - --- gdbtk-hooks.c     2000/12/20 22:23:29
> ***************
> *** 250,256 ****
> 
>     if (result_ptr != NULL)
>       {
> !       if (result_ptr->flags & GDBTK_TO_RESULT)
>         {
>           if (result_ptr->flags & GDBTK_MAKES_LIST)
>             Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,
> - --- 250,258 ----
> 
>     if (result_ptr != NULL)
>       {
> !       if (stream == gdb_stdlog)
> !       gdbtk_two_elem_cmd ("gdbtk_tcl_fputs", (char *) ptr);
> !       else if (result_ptr->flags & GDBTK_TO_RESULT)
>         {
>           if (result_ptr->flags & GDBTK_MAKES_LIST)
>             Tcl_ListObjAppendElement (NULL, result_ptr->obj_ptr,
> 
> ------- End of Forwarded Message

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: David Taylor: [RFA] insight gdb_stdlog bug
  2001-01-02 11:18 David Taylor: [RFA] insight gdb_stdlog bug David Taylor
  2001-01-02 11:23 ` Fernando Nasser
@ 2001-01-12  4:35 ` Andrew Cagney
  1 sibling, 0 replies; 3+ messages in thread
From: Andrew Cagney @ 2001-01-12  4:35 UTC (permalink / raw)
  To: David Taylor; +Cc: gdb-patches, insight

David Taylor wrote:
> 
> Just a ping -- I never saw a response to this.

To be fair, it is the summer holidays.  Everyone is down the beach
working on that new skin tumor ... :-)

	Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-01-12  4:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-01-02 11:18 David Taylor: [RFA] insight gdb_stdlog bug David Taylor
2001-01-02 11:23 ` Fernando Nasser
2001-01-12  4:35 ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).