RFA: patch to ignore dump.exp for ia64
Michael Snyder
msnyder@redhat.com
Wed Aug 27 18:07:00 GMT 2003
J. Johnston wrote:
> Ok, how about this alternate patch that blocks out reloading the .srec,
> .ihex, and .tekhex
> parts for 64-bit-only platforms.
Yeah, this is better. I think I would have just used "istarget"
instead of string-compare, but I won't insist on it.
Approved.
> 2003-08-22 Jeff Johnston <jjohnstn@redhat.com>
>
> * gdb.base/dump.exp: Don't reload .srec, .ihex, or .tekhex 32-bit
> formats when testing ia64.
>
>
> Michael Snyder wrote:
>
>> J. Johnston wrote:
>>
>>> The dump.exp testcase doesn't run on ia64 because a number of the
>>> output formats
>>> tested do not handle 64-bit addresses. The following patch causes
>>> the test
>>> to be ignored for ia64. I tried unsuccessfully to move the data
>>> below the
>>> 32-bit line as is done for the alpha.
>>>
>>> Ok to commit? If so, ok for gdb 6.0?
>>
>>
>>
>> You couldn't just make it skip the bits that don't work for 64?
>> Surely some of it works, say the elf parts?
>>
>>>
>>> -- Jeff J.
>>>
>>> 2003-08-22 Jeff Johnston <jjohnstn@redhat.com>
>>>
>>> * gdb.base/dump.exp: Skip for ia64.
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Index: gdb.base/dump.exp
>>> ===================================================================
>>> RCS file: /cvs/src/src/gdb/testsuite/gdb.base/dump.exp,v
>>> retrieving revision 1.3
>>> diff -u -r1.3 dump.exp
>>> --- gdb.base/dump.exp 2 Jun 2003 15:51:24 -0000 1.3
>>> +++ gdb.base/dump.exp 22 Aug 2003 19:45:23 -0000
>>> @@ -39,6 +39,11 @@
>>> lappend options "additional_flags=-Wl,-taso"
>>> }
>>>
>>> +if [istarget "ia64*-*-*"] then {
>>> + # SREC etc cannot handle 64-bit addresses. Skip the test
>>> + return 0;
>>> +}
>>> +
>>> if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}"
>>> executable ${options}] != "" } {
>>> gdb_suppress_entire_file "Testcase compile failed, so all tests
>>> in this file will automatically fail."
>>> }
>>
>>
>>
>>
>>
>
> ------------------------------------------------------------------------
>
> Index: dump.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.base/dump.exp,v
> retrieving revision 1.3
> diff -u -r1.3 dump.exp
> --- dump.exp 2 Jun 2003 15:51:24 -0000 1.3
> +++ dump.exp 25 Aug 2003 21:11:37 -0000
> @@ -33,12 +33,18 @@
> set binfile ${objdir}/${subdir}/${testfile}
> set options {debug}
>
> +set is64bitonly "no"
> +
> if [istarget "alpha*-*-*"] then {
> # SREC etc cannot handle 64-bit addresses. Force the test
> # program into the low 31 bits of the address space.
> lappend options "additional_flags=-Wl,-taso"
> }
>
> +if [istarget "ia64*-*-*"] then {
> + set is64bitonly "yes"
> +}
> +
> if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable ${options}] != "" } {
> gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
> }
> @@ -213,32 +219,42 @@
> }
> }
>
> -test_reload_saved_value "intarr1.srec" "reload array as value, srec" \
> +# srec format can not be loaded for 64-bit-only platforms
> +if ![string compare is64bitonly "no"] then {
> + test_reload_saved_value "intarr1.srec" "reload array as value, srec" \
> $array_val "intarray"
> -test_reload_saved_value "intstr1.srec" "reload struct as value, srec" \
> + test_reload_saved_value "intstr1.srec" "reload struct as value, srec" \
> $struct_val "intstruct"
> -test_reload_saved_value "intarr2.srec" "reload array as memory, srec" \
> + test_reload_saved_value "intarr2.srec" "reload array as memory, srec" \
> $array_val "intarray"
> -test_reload_saved_value "intstr2.srec" "reload struct as memory, srec" \
> + test_reload_saved_value "intstr2.srec" "reload struct as memory, srec" \
> $struct_val "intstruct"
> +}
> +
> +# ihex format can not be loaded for 64-bit-only platforms
> +if ![string compare is64bitonly "no"] then {
>
> -test_reload_saved_value "intarr1.ihex" "reload array as value, intel hex" \
> + test_reload_saved_value "intarr1.ihex" "reload array as value, intel hex" \
> $array_val "intarray"
> -test_reload_saved_value "intstr1.ihex" "reload struct as value, intel hex" \
> + test_reload_saved_value "intstr1.ihex" "reload struct as value, intel hex" \
> $struct_val "intstruct"
> -test_reload_saved_value "intarr2.ihex" "reload array as memory, intel hex" \
> + test_reload_saved_value "intarr2.ihex" "reload array as memory, intel hex" \
> $array_val "intarray"
> -test_reload_saved_value "intstr2.ihex" "reload struct as memory, intel hex" \
> + test_reload_saved_value "intstr2.ihex" "reload struct as memory, intel hex" \
> $struct_val "intstruct"
> +}
>
> -test_reload_saved_value "intarr1.tekhex" "reload array as value, tekhex" \
> +# tekhex format can not be loaded for 64-bit-only platforms
> +if ![string compare is64bitonly "no"] then {
> + test_reload_saved_value "intarr1.tekhex" "reload array as value, tekhex" \
> $array_val "intarray"
> -test_reload_saved_value "intstr1.tekhex" "reload struct as value, tekhex" \
> + test_reload_saved_value "intstr1.tekhex" "reload struct as value, tekhex" \
> $struct_val "intstruct"
> -test_reload_saved_value "intarr2.tekhex" "reload array as memory, tekhex" \
> + test_reload_saved_value "intarr2.tekhex" "reload array as memory, tekhex" \
> $array_val "intarray"
> -test_reload_saved_value "intstr2.tekhex" "reload struct as memory, tekhex" \
> + test_reload_saved_value "intstr2.tekhex" "reload struct as memory, tekhex" \
> $struct_val "intstruct"
> +}
>
> # Start a fresh gdb session
>
> @@ -264,51 +280,53 @@
> pass "start with intstruct un-initialized, runto main"
> }
>
> -test_restore_saved_value "intarr1.srec" "array as value, srec" \
> +if ![string compare is64bitonly "no"] then {
> + test_restore_saved_value "intarr1.srec" "array as value, srec" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr1.srec" "struct as value, srec" \
> + test_restore_saved_value "intstr1.srec" "struct as value, srec" \
> $struct_val "intstruct"
>
> -gdb_test "print zero_all ()" "void" "zero all"
> + gdb_test "print zero_all ()" "void" "zero all"
>
> -test_restore_saved_value "intarr2.srec" "array as memory, srec" \
> + test_restore_saved_value "intarr2.srec" "array as memory, srec" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr2.srec" "struct as memory, srec" \
> + test_restore_saved_value "intstr2.srec" "struct as memory, srec" \
> $struct_val "intstruct"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.ihex" "array as value, ihex" \
> + test_restore_saved_value "intarr1.ihex" "array as value, ihex" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr1.ihex" "struct as value, ihex" \
> + test_restore_saved_value "intstr1.ihex" "struct as value, ihex" \
> $struct_val "intstruct"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr2.ihex" "array as memory, ihex" \
> + test_restore_saved_value "intarr2.ihex" "array as memory, ihex" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr2.ihex" "struct as memory, ihex" \
> + test_restore_saved_value "intstr2.ihex" "struct as memory, ihex" \
> $struct_val "intstruct"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.tekhex" "array as value, tekhex" \
> + test_restore_saved_value "intarr1.tekhex" "array as value, tekhex" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr1.tekhex" "struct as value, tekhex" \
> + test_restore_saved_value "intstr1.tekhex" "struct as value, tekhex" \
> $struct_val "intstruct"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr2.tekhex" "array as memory, tekhex" \
> + test_restore_saved_value "intarr2.tekhex" "array as memory, tekhex" \
> $array_val "intarray"
>
> -test_restore_saved_value "intstr2.tekhex" "struct as memory, tekhex" \
> + test_restore_saved_value "intstr2.tekhex" "struct as memory, tekhex" \
> $struct_val "intstruct"
> +}
>
> gdb_test "print zero_all ()" ""
>
> @@ -341,33 +359,36 @@
>
> gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.srec $array2_offset" \
> +
> +if ![string compare is64bitonly "no"] then {
> + test_restore_saved_value "intarr1.srec $array2_offset" \
> "array copy, srec" \
> $array_val "intarray2"
>
> -test_restore_saved_value "intstr1.srec $struct2_offset" \
> + test_restore_saved_value "intstr1.srec $struct2_offset" \
> "struct copy, srec" \
> $struct_val "intstruct2"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.ihex $array2_offset" \
> + test_restore_saved_value "intarr1.ihex $array2_offset" \
> "array copy, ihex" \
> $array_val "intarray2"
>
> -test_restore_saved_value "intstr1.ihex $struct2_offset" \
> + test_restore_saved_value "intstr1.ihex $struct2_offset" \
> "struct copy, ihex" \
> $struct_val "intstruct2"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.tekhex $array2_offset" \
> + test_restore_saved_value "intarr1.tekhex $array2_offset" \
> "array copy, tekhex" \
> $array_val "intarray2"
>
> -test_restore_saved_value "intstr1.tekhex $struct2_offset" \
> + test_restore_saved_value "intstr1.tekhex $struct2_offset" \
> "struct copy, tekhex" \
> $struct_val "intstruct2"
> +}
>
> gdb_test "print zero_all ()" ""
>
> @@ -395,32 +416,34 @@
> set element4_offset \
> [capture_value "/x (char *) &intarray\[4\] - (char *) &intarray\[0\]"]
>
> -gdb_test "print zero_all ()" ""
> +if ![string compare is64bitonly "no"] then {
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.srec 0 $element3_start $element4_start" \
> + test_restore_saved_value "intarr1.srec 0 $element3_start $element4_start" \
> "array partial, srec" \
> [capture_value "4"] "intarray\[3\]"
>
> -gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 1"
> -gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 1"
> + gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 1"
> + gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 1"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.ihex 0 $element3_start $element4_start" \
> + test_restore_saved_value "intarr1.ihex 0 $element3_start $element4_start" \
> "array partial, ihex" \
> [capture_value "4"] "intarray\[3\]"
>
> -gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 2"
> -gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 2"
> + gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 2"
> + gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 2"
>
> -gdb_test "print zero_all ()" ""
> + gdb_test "print zero_all ()" ""
>
> -test_restore_saved_value "intarr1.tekhex 0 $element3_start $element4_start" \
> + test_restore_saved_value "intarr1.tekhex 0 $element3_start $element4_start" \
> "array partial, tekhex" \
> [capture_value "4"] "intarray\[3\]"
>
> -gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 3"
> -gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 3"
> + gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 3"
> + gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 3"
> +}
>
> gdb_test "print zero_all ()" ""
>
> @@ -432,17 +455,18 @@
> gdb_test "print intarray\[2\] == 0" " = 1" "element 2 not changed - 4"
> gdb_test "print intarray\[4\] == 0" " = 1" "element 4 not changed - 4"
>
> -gdb_test "print zero_all ()" "" ""
> +if ![string compare is64bitonly "no"] then {
> + gdb_test "print zero_all ()" "" ""
>
> -# restore with expressions
> -test_restore_saved_value \
> + # restore with expressions
> + test_restore_saved_value \
> "intarr3.srec ${array2_start}-${array_start} &intarray\[3\] &intarray\[4\]" \
> "array partial with expressions" \
> [capture_value "4"] "intarray2\[3\]"
>
> -gdb_test "print intarray2\[2\] == 0" " = 1" "element 2 not changed, == 4"
> -gdb_test "print intarray2\[4\] == 0" " = 1" "element 4 not changed, == 4"
> -
> + gdb_test "print intarray2\[2\] == 0" " = 1" "element 2 not changed, == 4"
> + gdb_test "print intarray2\[4\] == 0" " = 1" "element 4 not changed, == 4"
> +}
>
> # clean up files
>
More information about the Gdb-patches
mailing list