mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-02 06:43:58 +08:00
2008-03-21 Chris Demetriou <cgd@google.com>
* symtab.c (rbreak_command): Quote symbol name before passing it to break_command. * gdb.base/break.exp (rbreak junk): New test for rbreak "Junk at end of arguments" issue.
This commit is contained in:
parent
6309237547
commit
6214f497d3
@ -1,3 +1,8 @@
|
||||
2008-03-21 Chris Demetriou <cgd@google.com>
|
||||
|
||||
* symtab.c (rbreak_command): Quote symbol name before passing
|
||||
it to break_command.
|
||||
|
||||
2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* eval.c (evaluate_subexp_for_address): Clarify error message.
|
||||
|
@ -3345,7 +3345,13 @@ rbreak_command (char *regexp, int from_tty)
|
||||
}
|
||||
else
|
||||
{
|
||||
break_command (SYMBOL_LINKAGE_NAME (p->msymbol), from_tty);
|
||||
char *string = alloca (strlen (SYMBOL_LINKAGE_NAME (p->msymbol))
|
||||
+ 3);
|
||||
strcpy (string, "'");
|
||||
strcat (string, SYMBOL_LINKAGE_NAME (p->msymbol));
|
||||
strcat (string, "'");
|
||||
|
||||
break_command (string, from_tty);
|
||||
printf_filtered ("<function, no debug info> %s;\n",
|
||||
SYMBOL_PRINT_NAME (p->msymbol));
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2008-03-21 Chris Demetriou <cgd@google.com>
|
||||
|
||||
* gdb.base/break.exp (rbreak junk): New test for rbreak
|
||||
"Junk at end of arguments" issue.
|
||||
|
||||
2008-03-21 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.base/printcmds.exp (test_print_array_constants): Do not expect
|
||||
|
@ -944,6 +944,48 @@ gdb_expect {
|
||||
}
|
||||
|
||||
|
||||
gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
|
||||
if [target_info exists gdb_stub] {
|
||||
gdb_step_for_stub;
|
||||
}
|
||||
|
||||
#
|
||||
# test that 'rbreak' on a symbol that may be from a shared library doesn't
|
||||
# cause a "Junk at end of arguments." error.
|
||||
#
|
||||
# On x86 GNU/Linux, this test will choke on e.g. __libc_start_main@plt.
|
||||
#
|
||||
# Note that this test won't necessarily choke on all targets even if
|
||||
# all the rbreak issue is present. rbreak needs to match and set a
|
||||
# breakpoint on a symbol causes 'break' to choke.
|
||||
#
|
||||
|
||||
gdb_test "set breakpoint pending on" "" "rbreak junk pending setup"
|
||||
|
||||
# We expect at least one breakpoint to be set when we "rbreak main".
|
||||
gdb_test "rbreak main" \
|
||||
".*Breakpoint.*at.* file .*$srcfile, line.*" \
|
||||
"rbreak junk set breakpoint"
|
||||
|
||||
# Run to a breakpoint. Fail if we see "Junk at end of arguments".
|
||||
gdb_run_cmd
|
||||
gdb_expect {
|
||||
-re "Junk at end of arguments" {
|
||||
fail "rbreak junk"
|
||||
}
|
||||
-re ".*Breakpoint \[0-9\]+,.*$gdb_prompt $" {
|
||||
pass "rbreak junk"
|
||||
}
|
||||
timeout {
|
||||
fail "rbreak junk (timeout)"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# Reset the default arguments for VxWorks
|
||||
if [istarget "*-*-vxworks*"] {
|
||||
set timeout 10
|
||||
|
Loading…
Reference in New Issue
Block a user