From ae9d7ce40fc2cb634140c62af0208b48eabf6cfb Mon Sep 17 00:00:00 2001 From: Nathan Froyd <froydnj@codesourcery.com> Date: Fri, 12 Nov 2010 21:44:49 +0000 Subject: [PATCH] gdb/testsuite/ * gdb.python/py-inferior.exp: Pack values in target endianness. --- gdb/testsuite/ChangeLog | 4 ++++ gdb/testsuite/gdb.python/py-inferior.exp | 25 +++++++++++++++++------- 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 3c62b9d005..0694d9c481 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-11-12 Nathan Froyd <froydnj@codesourcery.com> + + * gdb.python/py-inferior.exp: Pack values in target endianness. + 2010-11-12 Tom Tromey <tromey@redhat.com> * gdb.python/py-prettyprint.c (main): Add new 'ns2' local. diff --git a/gdb/testsuite/gdb.python/py-inferior.exp b/gdb/testsuite/gdb.python/py-inferior.exp index 45f43a1466..7998b926b6 100644 --- a/gdb/testsuite/gdb.python/py-inferior.exp +++ b/gdb/testsuite/gdb.python/py-inferior.exp @@ -34,6 +34,17 @@ clean_restart ${testfile} # Skip all tests if Python scripting is not enabled. if { [skip_python_tests] } { continue } +gdb_test_multiple "show endian" "getting target endian" { + -re ".*little endian.*$gdb_prompt $" { + set python_pack_char "<" + # pass silently + } + -re ".*big endian.*$gdb_prompt $" { + set python_pack_char ">" + # pass silently + } +} + # The following tests require execution. if ![runto_main] then { @@ -106,7 +117,7 @@ gdb_test "set int16_search_buf\[10\] = 0x1234" "" "" gdb_test "py search_buf = gdb.selected_frame ().read_var ('int16_search_buf')" "" "" gdb_test "py start_addr = search_buf.address" "" "" gdb_test "py length = search_buf.type.sizeof" "" "" -gdb_test "py pattern = pack('H',0x1234)" "" \ +gdb_test "py pattern = pack('${python_pack_char}H',0x1234)" "" \ gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)" \ "${one_pattern_found}" "find 16-bit pattern, with value pattern" @@ -117,7 +128,7 @@ gdb_test "set int32_search_buf\[10\] = 0x12345678" "" "" gdb_test "py search_buf = gdb.selected_frame ().read_var ('int32_search_buf')" "" "" gdb_test "py start_addr = search_buf.address" "" "" gdb_test "py length = search_buf.type.sizeof" "" "" -gdb_test "py pattern = pack('I',0x12345678)" "" \ +gdb_test "py pattern = pack('${python_pack_char}I',0x12345678)" "" \ gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)" \ "${one_pattern_found}" "find 32-bit pattern, with python pattern" @@ -128,7 +139,7 @@ gdb_test "set int64_search_buf\[10\] = 0xfedcba9876543210LL" "" "" gdb_test "py search_buf = gdb.selected_frame ().read_var ('int64_search_buf')" "" "" gdb_test "py start_addr = search_buf.address" "" "" gdb_test "py length = search_buf.type.sizeof" "" "" -gdb_test "py pattern = pack('Q', 0xfedcba9876543210)" "" "" +gdb_test "py pattern = pack('${python_pack_char}Q', 0xfedcba9876543210)" "" "" gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)" \ "${one_pattern_found}" "find 64-bit pattern, with value pattern" @@ -141,8 +152,8 @@ gdb_test "set *(int32_t*) &search_buf\[13\] = 0x64646464" "" "" gdb_test "py search_buf = gdb.selected_frame ().read_var ('search_buf')" "" "" gdb_test "py start_addr = search_buf\[0\].address" "" "" gdb_test "py pattern1 = pack('B', 0x62)" "" "" -gdb_test "py pattern2 = pack('H', 0x6363)" "" "" -gdb_test "py pattern3 = pack('I', 0x64646464)" "" "" +gdb_test "py pattern2 = pack('${python_pack_char}H', 0x6363)" "" "" +gdb_test "py pattern3 = pack('${python_pack_char}I', 0x64646464)" "" "" gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, 100, pattern1)" \ "${one_pattern_found}" "find mixed-sized pattern" @@ -161,7 +172,7 @@ gdb_test "set *(int32_t*) &search_buf\[0*${CHUNK_SIZE}+100\] = 0x12345678" "" "" gdb_test "set *(int32_t*) &search_buf\[1*${CHUNK_SIZE}+100\] = 0x12345678" "" "" gdb_test "py start_addr = gdb.selected_frame ().read_var ('search_buf')" "" "" gdb_test "py length = gdb.selected_frame ().read_var ('search_buf_size')" "" "" -gdb_test "py pattern = pack('I', 0x12345678)" "" "" +gdb_test "py pattern = pack('${python_pack_char}I', 0x12345678)" "" "" gdb_test "py first = gdb.inferiors()\[0\].search_memory (start_addr,length, pattern)" "" "" gdb_test "py print first" "${one_pattern_found}" "search spanning large range 1st result" gdb_test "py start_addr = first + 1" @@ -175,7 +186,7 @@ gdb_test "py print third" "${pattern_not_found}" "search spanning large range 3r if [isnative] { gdb_test "set *(int32_t*) &search_buf\[${CHUNK_SIZE}-1\] = 0xfdb97531" "" "" - gdb_test "py pattern = pack('I', 0xfdb97531)" "" "" + gdb_test "py pattern = pack('${python_pack_char}I', 0xfdb97531)" "" "" gdb_test "py start_addr = gdb.selected_frame ().read_var ('search_buf')" "" "" gdb_test "py print gdb.inferiors()\[0\].search_memory (start_addr, length, pattern)" \ "${one_pattern_found}" "find pattern straddling chunk boundary"