This is the mail archive of the
insight@sourceware.org
mailing list for the Insight project.
[PATCH] Fix default target selection arguments for "exec" targets
- From: Keith Seitz <keiths at redhat dot com>
- To: insight <insight at sourceware dot org>
- Date: Thu, 23 Apr 2009 20:06:11 -0700
- Subject: [PATCH] Fix default target selection arguments for "exec" targets
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.
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