mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 14:49:38 +08:00
import gdb-1999-08-09 snapshot
This commit is contained in:
@ -185,7 +185,7 @@ proc infrun_breakpoint_command_test {} {
|
||||
if { [istarget "hppa*-hp-hpux*"] } {
|
||||
gdb_test "continue" \
|
||||
"Continuing.*.*.*Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.*\[0-9\]*\[ \]*if \\(value > 1\\) \{.*\[0-9\]*\[ \]*value \\*= factorial \\(value - 1\\);.*" \
|
||||
"contiune in infrun_breakpoint_command_test"
|
||||
"continue in infrun_breakpoint_command_test"
|
||||
} else {
|
||||
gdb_test "continue" \
|
||||
"Breakpoint \[0-9\]*, factorial \\(value=5\\).*at.*
|
||||
|
@ -46,6 +46,7 @@ gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
|
||||
# Some coverage stuff
|
||||
#
|
||||
gdb_test "kill" ".*The program is not being run.*"
|
||||
@ -59,9 +60,16 @@ gdb_test "detach" ".*"
|
||||
# Ok, on to real life
|
||||
#
|
||||
|
||||
if {![runto main]} {
|
||||
fail "Could not run to main - other tests will fail."
|
||||
gdb_exit
|
||||
gdb_start
|
||||
gdb_reinitialize_dir $srcdir/$subdir
|
||||
gdb_load ${binfile}
|
||||
|
||||
if ![runto_main] then {
|
||||
fail "Could not run to main - other tests will fail."
|
||||
continue
|
||||
}
|
||||
|
||||
gdb_test "b 14" ".*Breakpoint 2.*" "break do_loops"
|
||||
gdb_test "c" ".*Breakpoint 2, do_loops.*" "get to do_loops"
|
||||
|
||||
@ -133,7 +141,7 @@ gdb_test "printf" ".*Argument required.*"
|
||||
gdb_test "printf %d" ".*Bad format string, missing.*"
|
||||
gdb_test "printf \"%d" ".*Bad format string, non-terminated.*"
|
||||
gdb_test "printf \"%d%d\",i" ".*Wrong number of arguments.*"
|
||||
gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\"" ".*!.*"
|
||||
gdb_test "printf \"\\\\!\\a\\f\\r\\t\\v\\b\\n\"" ".*!.*"
|
||||
gdb_test "printf \"\"" ".*" "re-set term"
|
||||
gdb_test "printf \"\\w\"" ".*Unrecognized escape character.*"
|
||||
gdb_test "printf \"%d\" j" ".*Invalid argument syntax.*"
|
||||
@ -159,7 +167,6 @@ gdb_test "p/i sum" ".*Format letter.*is meaningless.*.*" "no i"
|
||||
gdb_test "p/a &sum" ".*= $hex.*<sum>.*"
|
||||
gdb_test "p/a main+1000" ".*= $hex.*<.*>.*"
|
||||
gdb_test "p/a \$pc" ".*= $hex.*<do_vars+.*>.*"
|
||||
gdb_test "p/a &j" ".*= $hex.*<do_vars+.*>.*"
|
||||
gdb_test "p/a &&j" ".*A parse error.*"
|
||||
|
||||
# Done!
|
||||
|
@ -31,7 +31,7 @@ int known_types()
|
||||
*/
|
||||
bin = 0x123456789abcdefLL; /* 64 bits = 16 hex digits */
|
||||
oct = 01234567123456701234567LL; /* = 21+ octal digits */
|
||||
dec = 12345678901234567890LL; /* = 19+ decimal digits */
|
||||
dec = 12345678901234567890ULL; /* = 19+ decimal digits */
|
||||
|
||||
/* Stop here and look!
|
||||
*/
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -58,6 +58,17 @@ if { ![runto known_types] } then {
|
||||
return
|
||||
}
|
||||
|
||||
set target_bigendian_p 1
|
||||
send_gdb "show endian\n"
|
||||
gdb_expect {
|
||||
-re ".*little endian.*$gdb_prompt $" { set target_bigendian_p 0 }
|
||||
-re ".*big endian.*$gdb_prompt $" { }
|
||||
-re ".*$gdb_prompt $" {
|
||||
fail "getting target endian"
|
||||
}
|
||||
default { fail "(timeout) getting target endian" }
|
||||
}
|
||||
|
||||
gdb_test "n 4" ".*38.*" "get to known place"
|
||||
|
||||
# Check the hack for long long prints.
|
||||
@ -87,76 +98,90 @@ gdb_test "p/a oct" ".*0x.*77053977.*"
|
||||
gdb_test "p/c oct" ".*'w'.*"
|
||||
gdb_test "p/f oct" ".*-5.9822653797615723e-120.*"
|
||||
|
||||
gdb_test "p/d *(int *)&oct" ".*-1490098887.*"
|
||||
gdb_test "p/u *(int *)&oct" ".*2804868409.*"
|
||||
gdb_test "p/o *(int *)&oct" ".*024713562471.*"
|
||||
gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*"
|
||||
gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*"
|
||||
gdb_test "p/c *(int *)&oct" ".*57 '9'.*"
|
||||
gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*"
|
||||
if { $target_bigendian_p } {
|
||||
|
||||
gdb_test "p/d *(short *)&oct" ".*-22738.*"
|
||||
gdb_test "p/u *(short *)&oct" ".*42798.*"
|
||||
gdb_test "p/o *(short *)&oct" ".*0123456.*"
|
||||
gdb_test "p/t *(short *)&oct" ".*1010011100101110.*"
|
||||
gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*"
|
||||
gdb_test "p/c *(short *)&oct" ".* 46 '.'.*"
|
||||
gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*"
|
||||
gdb_test "p/f *(short *)&oct" ".*-22738.*"
|
||||
gdb_test "p/d *(int *)&oct" ".*-1490098887.*"
|
||||
gdb_test "p/u *(int *)&oct" ".*2804868409.*"
|
||||
gdb_test "p/o *(int *)&oct" ".*024713562471.*"
|
||||
gdb_test "p/t *(int *)&oct" ".*10100111001011101110010100111001.*"
|
||||
gdb_test "p/a *(int *)&oct" ".*0xf*a72ee539.*"
|
||||
gdb_test "p/c *(int *)&oct" ".*57 '9'.*"
|
||||
gdb_test "p/f *(int *)&oct" ".*-2.42716126e-15.*"
|
||||
|
||||
gdb_test "x/x &oct" ".*0xa72ee539.*"
|
||||
gdb_test "x/d &oct" ".*.-1490098887*"
|
||||
gdb_test "x/u &oct" ".*2804868409.*"
|
||||
gdb_test "x/o &oct" ".*024713562471.*"
|
||||
gdb_test "x/t &oct" ".*10100111001011101110010100111001.*"
|
||||
gdb_test "x/a &oct" ".*0xa72ee539.*"
|
||||
gdb_test "x/c &oct" ".*-89 '\\\\247'.*"
|
||||
gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*"
|
||||
gdb_test "p/d *(short *)&oct" ".*-22738.*"
|
||||
gdb_test "p/u *(short *)&oct" ".*42798.*"
|
||||
gdb_test "p/o *(short *)&oct" ".*0123456.*"
|
||||
gdb_test "p/t *(short *)&oct" ".*1010011100101110.*"
|
||||
gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*"
|
||||
gdb_test "p/c *(short *)&oct" ".* 46 '.'.*"
|
||||
gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*"
|
||||
gdb_test "p/f *(short *)&oct" ".*-22738.*"
|
||||
|
||||
gdb_test "x/2x &oct" ".*.*"
|
||||
gdb_test "x/2d &oct" ".*.*"
|
||||
gdb_test "x/2u &oct" ".*.*"
|
||||
gdb_test "x/2o &oct" ".*.*"
|
||||
gdb_test "x/2t &oct" ".*.*"
|
||||
gdb_test "x/2a &oct" ".*.*"
|
||||
gdb_test "x/2c &oct" ".*.*"
|
||||
gdb_test "x/2f &oct" ".*.*"
|
||||
gdb_test "x/x &oct" ".*0xa72ee539.*"
|
||||
gdb_test "x/d &oct" ".*.-1490098887*"
|
||||
gdb_test "x/u &oct" ".*2804868409.*"
|
||||
gdb_test "x/o &oct" ".*024713562471.*"
|
||||
gdb_test "x/t &oct" ".*10100111001011101110010100111001.*"
|
||||
gdb_test "x/a &oct" ".*0xa72ee539.*"
|
||||
gdb_test "x/c &oct" ".*-89 .*"
|
||||
# FIXME GDB's output is correct, but this longer match fails.
|
||||
# gdb_test "x/c &oct" ".*-89 '\\\\247'.*"
|
||||
gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*"
|
||||
|
||||
gdb_test "x/2bx &oct" ".*.*"
|
||||
gdb_test "x/2bd &oct" ".*.*"
|
||||
gdb_test "x/2bu &oct" ".*.*"
|
||||
gdb_test "x/2bo &oct" ".*.*"
|
||||
gdb_test "x/2bt &oct" ".*.*"
|
||||
gdb_test "x/2ba &oct" ".*.*"
|
||||
gdb_test "x/2bc &oct" ".*.*"
|
||||
gdb_test "x/2bf &oct" ".*.*"
|
||||
# FIXME Fill in the results for all the following tests. (But be careful
|
||||
# about looking at locations with unspecified contents!)
|
||||
|
||||
gdb_test "x/2hx &oct" ".*.*"
|
||||
gdb_test "x/2hd &oct" ".*.*"
|
||||
gdb_test "x/2hu &oct" ".*.*"
|
||||
gdb_test "x/2ho &oct" ".*.*"
|
||||
gdb_test "x/2ht &oct" ".*.*"
|
||||
gdb_test "x/2ha &oct" ".*.*"
|
||||
gdb_test "x/2hc &oct" ".*.*"
|
||||
gdb_test "x/2hf &oct" ".*.*"
|
||||
gdb_test "x/2x &oct" ".*0xa72ee53977053977.*"
|
||||
gdb_test "x/2d &oct" ".*-6399925985474168457.*"
|
||||
gdb_test "x/2u &oct" ".*.*"
|
||||
gdb_test "x/2o &oct" ".*.*"
|
||||
gdb_test "x/2t &oct" ".*.*"
|
||||
gdb_test "x/2a &oct" ".*.*"
|
||||
gdb_test "x/2c &oct" ".*.*"
|
||||
gdb_test "x/2f &oct" ".*.*"
|
||||
|
||||
gdb_test "x/2wx &oct" ".*.*"
|
||||
gdb_test "x/2wd &oct" ".*.*"
|
||||
gdb_test "x/2wu &oct" ".*.*"
|
||||
gdb_test "x/2wo &oct" ".*.*"
|
||||
gdb_test "x/2wt &oct" ".*.*"
|
||||
gdb_test "x/2wa &oct" ".*.*"
|
||||
gdb_test "x/2wc &oct" ".*.*"
|
||||
gdb_test "x/2wf &oct" ".*.*"
|
||||
gdb_test "x/2bx &oct" ".*.*"
|
||||
gdb_test "x/2bd &oct" ".*.*"
|
||||
gdb_test "x/2bu &oct" ".*.*"
|
||||
gdb_test "x/2bo &oct" ".*.*"
|
||||
gdb_test "x/2bt &oct" ".*.*"
|
||||
gdb_test "x/2ba &oct" ".*.*"
|
||||
gdb_test "x/2bc &oct" ".*.*"
|
||||
gdb_test "x/2bf &oct" ".*.*"
|
||||
|
||||
gdb_test "x/2gx &oct" ".*.*"
|
||||
gdb_test "x/2gd &oct" ".*.*"
|
||||
gdb_test "x/2gu &oct" ".*.*"
|
||||
gdb_test "x/2go &oct" ".*.*"
|
||||
gdb_test "x/2gt &oct" ".*.*"
|
||||
gdb_test "x/2ga &oct" ".*.*"
|
||||
gdb_test "x/2gc &oct" ".*.*"
|
||||
gdb_test "x/2gf &oct" ".*.*"
|
||||
gdb_test "x/2hx &oct" ".*.*"
|
||||
gdb_test "x/2hd &oct" ".*.*"
|
||||
gdb_test "x/2hu &oct" ".*.*"
|
||||
gdb_test "x/2ho &oct" ".*.*"
|
||||
gdb_test "x/2ht &oct" ".*.*"
|
||||
gdb_test "x/2ha &oct" ".*.*"
|
||||
gdb_test "x/2hc &oct" ".*.*"
|
||||
gdb_test "x/2hf &oct" ".*.*"
|
||||
|
||||
gdb_test "x/2wx &oct" ".*.*"
|
||||
gdb_test "x/2wd &oct" ".*.*"
|
||||
gdb_test "x/2wu &oct" ".*.*"
|
||||
gdb_test "x/2wo &oct" ".*.*"
|
||||
gdb_test "x/2wt &oct" ".*.*"
|
||||
gdb_test "x/2wa &oct" ".*.*"
|
||||
gdb_test "x/2wc &oct" ".*.*"
|
||||
gdb_test "x/2wf &oct" ".*.*"
|
||||
|
||||
gdb_test "x/2gx &oct" ".*.*"
|
||||
gdb_test "x/2gd &oct" ".*.*"
|
||||
gdb_test "x/2gu &oct" ".*.*"
|
||||
gdb_test "x/2go &oct" ".*.*"
|
||||
gdb_test "x/2gt &oct" ".*.*"
|
||||
gdb_test "x/2ga &oct" ".*.*"
|
||||
gdb_test "x/2gc &oct" ".*.*"
|
||||
gdb_test "x/2gf &oct" ".*.*"
|
||||
|
||||
} else {
|
||||
|
||||
# FIXME Add little-endian versions of these tests, or define a
|
||||
# gdb_test_bi with two strings to match on.
|
||||
|
||||
}
|
||||
|
||||
gdb_exit
|
||||
return 0
|
||||
|
@ -149,7 +149,6 @@ test_i "stepi into function" "stepi" \
|
||||
send_gdb "finish\n"
|
||||
gdb_expect {
|
||||
-re ".*(Program received|Program exited).*$gdb_prompt $" {
|
||||
puts "*** Matched Program recieved"
|
||||
# Oops... We ran to the end of the program... Better reset
|
||||
if {![runto_main]} then {
|
||||
fail "Can't run to main"
|
||||
@ -162,13 +161,11 @@ gdb_expect {
|
||||
fail "stepi: finish call"
|
||||
}
|
||||
-re ".*${decimal}.*callee.*NEXTI.*$gdb_prompt $" {
|
||||
puts "*** Matched success..."
|
||||
pass "stepi: finish call"
|
||||
}
|
||||
-re ".*${decimal}.*callee.*STEPI.*$gdb_prompt $" {
|
||||
# On PA64 we end up at a different instruction than PA32
|
||||
if { [istarget "hppa2.0w-hp-hpux*"] } {
|
||||
puts "*** Matched success..."
|
||||
pass "stepi: finish call 2"
|
||||
} else {
|
||||
fail "stepi: finish call 2"
|
||||
|
Reference in New Issue
Block a user