Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Denis PILAT <denis.pilat@st.com>
To: gdb-patches@sourceware.org
Subject: [RFA] TUI is broken under Solaris
Date: Tue, 17 Apr 2007 15:48:00 -0000	[thread overview]
Message-ID: <4624EADC.806@st.com> (raw)
In-Reply-To: <20070327200906.GO28164@caradoc.them.org>

Daniel Jacobowitz wrote:
> On Mon, Mar 19, 2007 at 04:58:23PM +0100, Denis PILAT wrote:
>   
>> Daniel Jacobowitz wrote:
>>     
>>> Thanks for all your detective work on this.  I'm sorry I apparently
>>> broke TUI so badly - I wish we had test coverage.
>>>       
>> About TUI for Solaris, Fred and I have found where the problem comes from, but 
>> we are not sure about the fix.
>> A "new" call to solib_add in solib-svr4.c has been added 2006-10-18 (yes 5 
>> months ago!).
>> This call leads to a problem about the owner of the target_terminal, it seems 
>> that the TUI tries to write in the terminal without beein owner.
>>     
>
>   
>> We tried just to add a call to "target_terminal_ours ()" at the beginning of 
>> infcmd.c (post_create_inferior), that fixes the problem.
>> But I guess it's not the good place to do that.
>>     
>
> I don't know.  Maybe?  It should happen somewhere central, either
> central to TUI or central to GDB, so that we have the terminal before
> TUI ever attempts to refresh.
>
> post_create_inferior might be the right place.
>
>   
Here is the proposed patch:
It fixes the tui problem under Solaris. TUI hosted under Solaris has 
been broken for monthes. No way to break on main and run a simple program.
Here we avoid any written to the terminal without beeing owner of it. 
Don't know if it the best solution but it works
No testsuite regression for Solaris and Linux native debuggers.

-- 
Denis

2007-04-17  Denis Pilat  <denis.pilat@st.com>

	* infcmd.c (post_create_inferior): Start with a call to 
	target_terminal_ours().

Index: infcmd.c
===================================================================
RCS file: /cvs/src/src/gdb/infcmd.c,v
retrieving revision 1.151
diff -u -p -r1.151 infcmd.c
--- infcmd.c    27 Mar 2007 23:01:00 -0000      1.151
+++ infcmd.c    17 Apr 2007 15:04:03 -0000
@@ -406,6 +406,9 @@ tty_command (char *file, int from_tty)
 void
 post_create_inferior (struct target_ops *target, int from_tty)
 {
+  /* Be sure we own the terminal in case write operations are performed.  */
+  target_terminal_ours ();
+
   /* If the target hasn't taken care of this already, do it now.
      Targets which need to access registers during to_open,
      to_create_inferior, or to_attach should do it earlier; but many





  reply	other threads:[~2007-04-17 15:42 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-19  1:53 TUI + gdbserver broken? Pedro Alves
2007-03-19  2:11 ` Daniel Jacobowitz
2007-03-19 15:58   ` Denis PILAT
2007-03-27 20:09     ` Daniel Jacobowitz
2007-04-17 15:48       ` Denis PILAT [this message]
2007-04-17 15:51         ` [RFA] TUI is broken under Solaris Daniel Jacobowitz
2007-04-18  8:24           ` Denis PILAT
2007-03-19 21:43   ` TUI + gdbserver broken? Pedro Alves
2007-03-19 22:14     ` Daniel Jacobowitz
2007-03-19 23:31       ` Pedro Alves
2007-03-19 23:41         ` Daniel Jacobowitz
2007-03-20  0:39           ` Pedro Alves
2007-03-20  2:56             ` Daniel Jacobowitz
2007-03-20  9:05               ` Pedro Alves
2007-03-20 23:21                 ` Pedro Alves
2007-03-22  2:51                   ` Pedro Alves
2007-03-27 20:15                     ` Daniel Jacobowitz
2007-03-29  2:26                       ` Pedro Alves
2007-03-29 18:55                         ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4624EADC.806@st.com \
    --to=denis.pilat@st.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox