diff options
Diffstat (limited to 'gdb/testsuite/gdb.base/long_long.exp')
-rw-r--r-- | gdb/testsuite/gdb.base/long_long.exp | 306 |
1 files changed, 0 insertions, 306 deletions
diff --git a/gdb/testsuite/gdb.base/long_long.exp b/gdb/testsuite/gdb.base/long_long.exp deleted file mode 100644 index ff8a1f91a31..00000000000 --- a/gdb/testsuite/gdb.base/long_long.exp +++ /dev/null @@ -1,306 +0,0 @@ -# Copyright 1997, 1998, 1999, 2000, 2001 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -# Please email any bugs, comments, and/or additions to this file to: -# bug-gdb@prep.ai.mit.edu - - -# long_long.exp Test printing of 64-bit things in 32-bit gdb. -# Also test differnet kinds of formats. -# -if $tracelevel then { - strace $tracelevel -} - -if [target_info exists no_long_long] { - return 0 -} - -set testfile long_long -set srcfile ${srcdir}/${subdir}/${testfile}.c -set binfile ${objdir}/${subdir}/${testfile} - -# What compiler are we using? -# -if [get_compiler_info ${binfile}] { - return -1 -} - -if {$hp_cc_compiler} { - set flag "+e" -} else { - set flag "" -} - -if { [gdb_compile "${srcfile}" "${binfile}" executable [concat debug "additional_flags=$flag -w"]] != "" } { - gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail." -} - -# use this to debug: -#log_user 1 - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load ${binfile} - -if { ![runto known_types] } then { - fail "run to known_types" - 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" } -} - -# Detect targets with 2-byte integers. Yes, it's not general to assume -# that all others have 4-byte ints, but don't worry about it until one -# actually exists. - -set sizeof_int 4 -send_gdb "print sizeof(int)\n" -gdb_expect { - -re ".* = 2.*$gdb_prompt $" { set sizeof_int 2 } - -re ".*$gdb_prompt $" { } - default { } -} - -# Detect targets with 2-byte pointers. Assume all others use 4-bytes. -set sizeof_ptr 4 -send_gdb "print sizeof(void*)\n" -gdb_expect { - -re ".* = 2.*$gdb_prompt $" { set sizeof_ptr 2 } - -re ".*$gdb_prompt $" { } - default { } -} - -# Detect targets with 4-byte shorts. Assume all others use 2-bytes. - -set sizeof_short 2 -send_gdb "print sizeof(short)\n" -gdb_expect { - -re ".* = 4.*$gdb_prompt $" { set sizeof_short 4 } - -re ".*$gdb_prompt $" { } - default { } -} - -# Detect targets with 4-byte doubles. - -set sizeof_double 8 -send_gdb "print sizeof(double)\n" -gdb_expect { - -re ".* = 4.*$gdb_prompt $" { set sizeof_double 4 } - -re ".*$gdb_prompt $" { } - default { } -} - -gdb_test "n 4" ".*38.*" "get to known place" - -# Check the hack for long long prints. -# -gdb_test "p/x hex" ".*0x0*0.*" "hex print p/x" -gdb_test "p/x dec" ".*0xab54a98ceb1f0ad2.*" "decimal print p/x" -# see if 'p/<code>' is handled same as 'p /<code>' -# -gdb_test "p /x dec" ".*0xab54a98ceb1f0ad2.*" "default print dec" -gdb_test "p /x bin" ".*0x0*123456789abcdef.*" "default print bin" -gdb_test "p /x oct" ".*0xa72ee53977053977.*" "default print oct" -gdb_test "p hex" ".*= 0*x*0*0.*" "default print hex" - -gdb_test "p/u dec" ".*12345678901234567890.*" "decimal print p/u" -gdb_test "p/t bin" ".*0*100100011010001010110011110001001101010111100110111101111.*" "binary print" -gdb_test "p/o oct" ".*01234567123456701234567.*" "octal print" -gdb_test "p /d bin" ".*81985529216486895.*" "print +ve long long" -gdb_test "p/d dec" ".*-6101065172474983726.*" "decimal print p/d" - -# Try all the combinations to bump up coverage. -# -gdb_test "p/d oct" ".*-6399925985474168457.*" -gdb_test "p/u oct" ".*12046818088235383159.*" -gdb_test "p/o oct" ".*.*" -gdb_test "p/t oct" ".*1010011100101110111001010011100101110111000001010011100101110111.*" -if { $sizeof_ptr == 2 } { - gdb_test "p/a oct" ".*0x.*3977.*" -} else { - gdb_test "p/a oct" ".*0x.*77053977.*" -} -gdb_test "p/c oct" ".*'w'.*" - -if { $sizeof_double == 8 } { - -# ARM floating point numbers are not strictly little endian or big endian, -# but a hybrid. They are in little endian format with the two words -# swapped in big endian format. - - if [ istarget "arm*-*-*" ] then { - -# assume the long long represents a floating point double in ARM format - gdb_test "p/f oct" ".*2.1386676354387559e\\+265.*" - - } else { - -# assume the long long represents a floating point double in little -# endian format - gdb_test "p/f oct" ".*-5.9822653797615723e-120.*" - - } - -} else { - - gdb_test "p/f oct" ".*-2.42716126e-15.*" - -} - -if { $target_bigendian_p } { - - if { $sizeof_int == 4 } { - - 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.*" - - if { $sizeof_ptr == 2 } { - gdb_test "p/a *(int *)&oct" ".*0xe539.*" - } else { - 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.*" - - } else { - - gdb_test "p/d *(int *)&oct" ".*-22738.*" - gdb_test "p/u *(int *)&oct" ".*42798.*" - gdb_test "p/o *(int *)&oct" ".*0123456.*" - gdb_test "p/t *(int *)&oct" ".*1010011100101110.*" - - if { $sizeof_ptr == 2 } { - gdb_test "p/a *(int *)&oct" ".*0xa72e.*" - } else { - gdb_test "p/a *(int *)&oct" ".*0xffffa72e.*" - } - gdb_test "p/c *(int *)&oct" ".*46 '.'.*" - gdb_test "p/f *(int *)&oct" ".*-22738.*" - - } - - if { $sizeof_short == 2 } { - 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.*" - if { $sizeof_ptr == 2 } { - gdb_test "p/a *(short *)&oct" ".*0xa72e.*" - } else { - gdb_test "p/a *(short *)&oct" ".*0xf*ffffa72e.*" - } - gdb_test "p/c *(short *)&oct" ".* 46 '.'.*" - gdb_test "p/f *(short *)&oct" ".*-22738.*" - } else { - gdb_test "p/d *(short *)&oct" ".*-1490098887.*" - gdb_test "p/u *(short *)&oct" ".*2804868409.*" - gdb_test "p/o *(short *)&oct" ".*024713562471.*" - gdb_test "p/t *(short *)&oct" ".*10100111001011101110010100111001.*" - gdb_test "p/a *(short *)&oct" ".*0xf*a72ee539.*" - gdb_test "p/c *(short *)&oct" ".* 57 '9'.*" - gdb_test "p/f *(short *)&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.*" - if { $sizeof_ptr == 2 } { - gdb_test "x/a &oct" ".*0xa72e.*" - } else { - 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'.*" - if { $sizeof_double == 8 } { - gdb_test "x/f &oct" ".*-5.9822653797615723e-120.*" - } else { - gdb_test "x/f &oct" ".*-2.42716126e-15.*" - } - - # FIXME Fill in the results for all the following tests. (But be careful - # about looking at locations with unspecified contents!) - - 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/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/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 |