public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] Fix default target selection arguments for "exec" targets
@ 2009-04-24  3:06 Keith Seitz
  0 siblings, 0 replies; only message in thread
From: Keith Seitz @ 2009-04-24  3:06 UTC (permalink / raw)
  To: insight

[-- 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-04-24  3:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-24  3:06 [PATCH] Fix default target selection arguments for "exec" targets Keith Seitz

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).