2006-04-07 Andrew Stubbs <andrew.stubbs@st.com>
gdb/ * cli/cli-script.c (struct user_args): Add command field. (arg_cleanup): Free command string. (setup_user_args): Copy the command line before relying on it. gdb/testsuite/ * gdb.base/commands.exp (recursive_source_test): New test.
This commit is contained in:
parent
f2e349f91a
commit
e28493f226
4 changed files with 51 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2006-04-07 Andrew Stubbs <andrew.stubbs@st.com>
|
||||||
|
|
||||||
|
* cli/cli-script.c (struct user_args): Add command field.
|
||||||
|
(arg_cleanup): Free command string.
|
||||||
|
(setup_user_args): Copy the command line before relying on it.
|
||||||
|
|
||||||
2006-04-06 Joel Brobecker <brobecker@adacore.com>
|
2006-04-06 Joel Brobecker <brobecker@adacore.com>
|
||||||
|
|
||||||
* breakpoint.c (_initialize_breakpoint): Add "del" as an alias
|
* breakpoint.c (_initialize_breakpoint): Add "del" as an alias
|
||||||
|
|
|
@ -54,6 +54,9 @@ static int control_level;
|
||||||
struct user_args
|
struct user_args
|
||||||
{
|
{
|
||||||
struct user_args *next;
|
struct user_args *next;
|
||||||
|
/* It is necessary to store a malloced copy of the command line to
|
||||||
|
ensure that the arguments are not overwritten before they are used. */
|
||||||
|
char *command;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
char *arg;
|
char *arg;
|
||||||
|
@ -483,6 +486,7 @@ arg_cleanup (void *ignore)
|
||||||
_("arg_cleanup called with no user args.\n"));
|
_("arg_cleanup called with no user args.\n"));
|
||||||
|
|
||||||
user_args = user_args->next;
|
user_args = user_args->next;
|
||||||
|
xfree (oargs->command);
|
||||||
xfree (oargs);
|
xfree (oargs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,6 +511,8 @@ setup_user_args (char *p)
|
||||||
if (p == NULL)
|
if (p == NULL)
|
||||||
return old_chain;
|
return old_chain;
|
||||||
|
|
||||||
|
user_args->command = p = xstrdup (p);
|
||||||
|
|
||||||
while (*p)
|
while (*p)
|
||||||
{
|
{
|
||||||
char *start_arg;
|
char *start_arg;
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2006-04-07 Andrew Stubbs <andrew.stubbs@st.com>
|
||||||
|
|
||||||
|
* gdb.base/commands.exp (recursive_source_test): New test.
|
||||||
|
|
||||||
2006-04-04 David S. Miller <davem@sunset.davemloft.net>
|
2006-04-04 David S. Miller <davem@sunset.davemloft.net>
|
||||||
|
|
||||||
* gdb.base/float.exp: Add pattern for sparc targets.
|
* gdb.base/float.exp: Add pattern for sparc targets.
|
||||||
|
|
|
@ -583,7 +583,40 @@ proc stray_arg0_test { } {
|
||||||
"\\\$\[0-9\]* = 1" \
|
"\\\$\[0-9\]* = 1" \
|
||||||
"stray_arg0_test #4"
|
"stray_arg0_test #4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Test that GDB can handle arguments when sourcing files recursively.
|
||||||
|
# If the arguments are overwritten with ####### then the test has failed.
|
||||||
|
proc recursive_source_test {} {
|
||||||
|
set fd [open "file1" w]
|
||||||
|
puts $fd \
|
||||||
|
{source file2
|
||||||
|
abcdef qwerty}
|
||||||
|
close $fd
|
||||||
|
|
||||||
|
set fd [open "file2" w]
|
||||||
|
puts $fd \
|
||||||
|
{define abcdef
|
||||||
|
echo 1: <<<$arg0>>>\n
|
||||||
|
source file3
|
||||||
|
echo 2: <<<$arg0>>>\n
|
||||||
|
end}
|
||||||
|
close $fd
|
||||||
|
|
||||||
|
set fd [open "file3" w]
|
||||||
|
puts $fd \
|
||||||
|
"echo in file3\\n
|
||||||
|
#################################################################"
|
||||||
|
close $fd
|
||||||
|
|
||||||
|
gdb_test "source file1" \
|
||||||
|
"1: <<<qwerty>>>\[\r\n]+in file3\[\r\n]+2: <<<qwerty>>>" \
|
||||||
|
"recursive source test"
|
||||||
|
|
||||||
|
file delete file1
|
||||||
|
file delete file2
|
||||||
|
file delete file3
|
||||||
|
}
|
||||||
|
|
||||||
gdbvar_simple_if_test
|
gdbvar_simple_if_test
|
||||||
gdbvar_simple_while_test
|
gdbvar_simple_while_test
|
||||||
gdbvar_complex_if_while_test
|
gdbvar_complex_if_while_test
|
||||||
|
@ -600,3 +633,4 @@ deprecated_command_test
|
||||||
bp_deleted_in_command_test
|
bp_deleted_in_command_test
|
||||||
temporary_breakpoint_commands
|
temporary_breakpoint_commands
|
||||||
stray_arg0_test
|
stray_arg0_test
|
||||||
|
recursive_source_test
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue