public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
From: Keith Seitz <keiths@redhat.com>
To: insight <insight@sourceware.org>
Subject: [PATCH] Fix default target selection arguments for "exec" targets
Date: Fri, 24 Apr 2009 03:06:00 -0000	[thread overview]
Message-ID: <49F12CA3.70102@redhat.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1014 bytes --]

Hi,

I've committed the attached patch which fixes the two issues reported 
recently regarding 1) the exec target not being selected by default on 
non-cross versions of insight and 2) arguments not being synced between 
the console and the dialog.

I did not check this on cross debuggers, but I don't think I touched 
anything that would affect those. But as always, if you find that I 
broke something, let me know and I will put it on my TODO list.

I will do a snapshot of insight on Monday to reflect the updated code base.

Keith

ChangeLog
2009-04-23  Keith Seitz  <keiths@redhat.com>

	* library/targetselection.itb (init_target_db): Add comment
	about "arguments" vs "options" on native debuggers.
	(build_win): If the target is "default", choose "Exec" for native
	debuggers. For cross debuggers, let the user choose.
	(write_saved): For exec targets, save target options to gdb via
	gdb_set_inferior_args.
	(config_dialog): For "exec" targets, save gdb's stored arguments
	into the options preference.

[-- Attachment #2: exec-prefs.patch --]
[-- Type: text/plain, Size: 2340 bytes --]

Index: library/targetselection.itb
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/library/targetselection.itb,v
retrieving revision 1.23
diff -u -p -r1.23 targetselection.itb
--- library/targetselection.itb	14 Jul 2008 23:43:36 -0000	1.23
+++ library/targetselection.itb	24 Apr 2009 03:01:29 -0000
@@ -74,6 +74,8 @@ itcl::body TargetSelection::init_target_
   set gdb_target(exec,baud-rates) {}
   set gdb_target(exec,cmd) ""
   set gdb_target(exec,runlist) {0 0 1 0}
+  # NOTE: for native "options", we use the sessions-stored preference
+  # which is really inferior arguments
   set gdb_target(exec,options) ""
   set gdb_target(exec,after_attaching) {}
 
@@ -589,6 +591,12 @@ itcl::body TargetSelection::build_win {}
   pack $MoreFrame -fill x -expand yes
   pack $f $opts -side top -fill x
 
+  # If the target is set to "default", select an appropriate
+  # default: on native debuggers, choose "Exec"; otherwise, make
+  # the user choose.
+  if {[string compare $target "default"] == 0 && [native_debugging]} {
+    set target exec
+  }
   change_target $gdb_target($target,pretty-name)
 
   button $btns.ok -text [gettext OK] -width 7 -command [code $this save] \
@@ -657,6 +665,10 @@ itcl::body TargetSelection::write_saved 
   pref setd gdb/load/$target-runlist [list $saved_attach $saved_load $saved_run $saved_cont]
   if {[info exists gdb_target($target,options)]} {
     pref setd gdb/load/$target-opts $saved_options
+
+    # For the case of "exec" targets, also save the options
+    # so that the command line picks them up.
+    gdb_set_inferior_args $saved_options
   }
   if {[catch {$_after_entry get} saved_after_attaching]} {
     set saved_after_attaching ""
@@ -785,6 +797,8 @@ itcl::body TargetSelection::config_dialo
       # FIXME: this is really overloaded!!
       if {$t == "exec"} {
 	set text "Arguments:"
+        # Also set the target options to the session's saved arguments
+        pref set gdb/load/$t-opts [gdb_get_inferior_args]
       } else {
 	set text "Options:"
       }
@@ -808,7 +822,6 @@ itcl::body TargetSelection::change_targe
     $RunMethod.cont configure -state normal
   }
 
-  debug "$target"
   set defbaud $gdb_target($target,defbaud)
   pref define gdb/load/$target-baud $defbaud
   pref define gdb/load/$target-portname 1000

                 reply	other threads:[~2009-04-24  3:06 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=49F12CA3.70102@redhat.com \
    --to=keiths@redhat.com \
    --cc=insight@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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).