J. Johnston wrote: > Michael Snyder wrote: > >> 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. >> > > Thanks. I used the string-compare so future targets in the same boat > simply set the > flag at the top. Otherwise, you get an istarget if/else festival all > throughout the testcase. > > -- Jeff J. > Before checking the original patch in, I discovered I had a typo in my patch where I forgot the $ qualifier for my added variable to check. It made the patch also skip tests for platforms other than ia64. I have fixed the typo, verified it on i686 and ia64, and checked in the modified patch attached to this note. -- Jeff J. >> >> >>> 2003-08-22 Jeff Johnston >>> >>> * 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 >>>>> >>>>> * 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 >>> >> >> >> >> >> > >