From mboxrd@z Thu Jan 1 00:00:00 1970 From: Elena Zannoni To: gdb-patches Subject: Re: [RFA]: testsuite/gdb.base/call-ar-st.[exp|c]: Change to work better with small targets Date: Sat, 27 Oct 2001 07:50:00 -0000 Message-id: <15322.52044.698921.256623@krustylu.cygnus.com> References: <20011025160025.Q7622@cygbert.vinschen.de> X-SW-Source: 2001-10/msg00337.html Corinna Vinschen writes: > Hi, > > the following patch allows the call-ar-st test to run better on smaller > targets. Currently nearly all variable space is allocated on the stack > and moreover especially the double array is somewhat big. The patch > changes all auto variables in main() to be static to unburden the stack > and reduces the size of the double array to reduce the all over memory > requirements of the test. Additionally it increases the timeout value > by 60 seconds considering that some small targets are also somewhat > slow. > > Corinna I am not the maintainer of this, but since I wrote the test, I think the patch is fine. Elena > > 2001-10-25 Corinna Vinschen > > * gdb.base/call-ar-st.c (print_double_array): Match for loop > with new double_array size. > (main): Change storage class of all local variables to static. > Reduce size of double_array to 9. > * gdb.base/call-ar-st.exp: Increase timeout value. > Change expected output for double array to match new size in > call-ar-st.c. > > Index: gdb.base/call-ar-st.c > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.base/call-ar-st.c,v > retrieving revision 1.2 > diff -u -p -r1.2 call-ar-st.c > --- call-ar-st.c 2000/03/30 23:32:30 1.2 > +++ call-ar-st.c 2001/10/25 13:49:08 > @@ -231,7 +231,7 @@ void print_double_array (array_d) > > printf("array_d :\n"); > printf("=========\n\n"); > - for (index = 0; index < 100; index++) { > + for (index = 0; index < 9; index++) { > printf("%f ", array_d[index]); > if ((index%8) == 0) printf("\n"); > } > @@ -1147,48 +1147,48 @@ int main () { > > /* variables for array and enumerated type testing > */ > - char char_array[121]; > - double double_array[100]; > - float float_array[15]; > - int integer_array[50]; > - int index; > - id_int student_id = 23; > - colors my_shirt = YELLOW; > + static char char_array[121]; > + static double double_array[9]; > + static float float_array[15]; > + static int integer_array[50]; > + static int index; > + static id_int student_id = 23; > + static colors my_shirt = YELLOW; > > /* variables for large structure testing > */ > - int number = 10; > - struct array_rep_info_t *list1; > - struct array_rep_info_t *list2; > - struct array_rep_info_t *list3; > - struct array_rep_info_t *list4; > + static int number = 10; > + static struct array_rep_info_t *list1; > + static struct array_rep_info_t *list2; > + static struct array_rep_info_t *list3; > + static struct array_rep_info_t *list4; > > /* variables for testing a very long argument list > */ > - double a; > - double b; > - int c; > - int d; > - int e; > - int f; > + static double a; > + static double b; > + static int c; > + static int d; > + static int e; > + static int f; > > /* variables for testing a small structures and a very long argument list > */ > - struct small_rep_info_t *struct1; > - struct small_rep_info_t *struct2; > - struct small_rep_info_t *struct3; > - struct small_rep_info_t *struct4; > - struct bit_flags_t *flags; > - struct bit_flags_combo_t *flags_combo; > - struct three_char_t *three_char; > - struct five_char_t *five_char; > - struct int_char_combo_t *int_char_combo; > - struct one_double_t *d1; > - struct one_double_t *d2; > - struct one_double_t *d3; > - struct two_floats_t *f1; > - struct two_floats_t *f2; > - struct two_floats_t *f3; > + static struct small_rep_info_t *struct1; > + static struct small_rep_info_t *struct2; > + static struct small_rep_info_t *struct3; > + static struct small_rep_info_t *struct4; > + static struct bit_flags_t *flags; > + static struct bit_flags_combo_t *flags_combo; > + static struct three_char_t *three_char; > + static struct five_char_t *five_char; > + static struct int_char_combo_t *int_char_combo; > + static struct one_double_t *d1; > + static struct one_double_t *d2; > + static struct one_double_t *d3; > + static struct two_floats_t *f1; > + static struct two_floats_t *f2; > + static struct two_floats_t *f3; > > /* Initialize arrays > */ > @@ -1198,7 +1198,7 @@ int main () { > } > char_array[120] = '\0'; > > - for (index = 0; index < 100; index++) { > + for (index = 0; index < 9; index++) { > double_array[index] = index*23.4567; > } > > Index: gdb.base/call-ar-st.exp > =================================================================== > RCS file: /cvs/src/src/gdb/testsuite/gdb.base/call-ar-st.exp,v > retrieving revision 1.9 > diff -u -p -r1.9 call-ar-st.exp > --- call-ar-st.exp 2001/07/16 18:44:23 1.9 > +++ call-ar-st.exp 2001/10/25 13:49:08 > @@ -56,6 +56,9 @@ if [target_info exists gdb,cannot_call_f > continue > } > > +set oldtimeout $timeout > +set timeout [expr "$timeout + 60"] > + > # Set the current language to C. This counts as a test. If it > # fails, then we skip the other tests. > > @@ -122,18 +125,7 @@ if {![gdb_skip_float_test "print print_d > "\[ \t\r\n\]+=========" > "\[ \t\r\n\]+0.000000" > "\[ \t\r\n\]+23.456700 46.913400 70.370100 93.826800 117.283500 140.740200 164.196900 187.653600" > - "\[ \t\r\n\]+211.110300 234.567000 258.023700 281.480400 304.937100 328.393800 351.850500 375.307200" > - "\[ \t\r\n\]+398.763900 422.220600 445.677300 469.134000 492.590700 516.047400 539.504100 562.960800" > - "\[ \t\r\n\]+586.417500 609.874200 633.330900 656.787600 680.244300 703.701000 727.157700 750.614400" > - "\[ \t\r\n\]+774.071100 797.527800 820.984500 844.441200 867.897900 891.354600 914.811300 938.268000" > - "\[ \t\r\n\]+961.724700 985.181400 1008.638100 1032.094800 1055.551500 1079.008200 1102.464900 1125.921600" > - "\[ \t\r\n\]+1149.378300 1172.835000 1196.291700 1219.748400 1243.205100 1266.661800 1290.118500 1313.575200" > - "\[ \t\r\n\]+1337.031900 1360.488600 1383.945300 1407.402000 1430.858700 1454.315400 1477.772100 1501.228800" > - "\[ \t\r\n\]+1524.685500 1548.142200 1571.598900 1595.055600 1618.512300 1641.969000 1665.425700 1688.882400" > - "\[ \t\r\n\]+1712.339100 1735.795800 1759.252500 1782.709200 1806.165900 1829.622600 1853.079300 1876.536000" > - "\[ \t\r\n\]+1899.992700 1923.449400 1946.906100 1970.362800 1993.819500 2017.276200 2040.732900 2064.189600" > - "\[ \t\r\n\]+2087.646300 2111.103000 2134.559700 2158.016400 2181.473100 2204.929800 2228.386500 2251.843200" > - "\[ \t\r\n\]+2275.299900 2298.756600 2322.213300\[ \t\r\n\]+\[ \t\r\n\]+" > + "\[ \t\r\n\]+" > } > } > > @@ -202,18 +194,7 @@ if {![gdb_skip_float_test "continuing to > "\[ \t\r\n\]+=========" > "\[ \t\r\n\]+0.000000" > "\[ \t\r\n\]+23.456700 46.913400 70.370100 93.826800 117.283500 140.740200 164.196900 187.653600" > - "\[ \t\r\n\]+211.110300 234.567000 258.023700 281.480400 304.937100 328.393800 351.850500 375.307200" > - "\[ \t\r\n\]+398.763900 422.220600 445.677300 469.134000 492.590700 516.047400 539.504100 562.960800" > - "\[ \t\r\n\]+586.417500 609.874200 633.330900 656.787600 680.244300 703.701000 727.157700 750.614400" > - "\[ \t\r\n\]+774.071100 797.527800 820.984500 844.441200 867.897900 891.354600 914.811300 938.268000" > - "\[ \t\r\n\]+961.724700 985.181400 1008.638100 1032.094800 1055.551500 1079.008200 1102.464900 1125.921600" > - "\[ \t\r\n\]+1149.378300 1172.835000 1196.291700 1219.748400 1243.205100 1266.661800 1290.118500 1313.575200" > - "\[ \t\r\n\]+1337.031900 1360.488600 1383.945300 1407.402000 1430.858700 1454.315400 1477.772100 1501.228800" > - "\[ \t\r\n\]+1524.685500 1548.142200 1571.598900 1595.055600 1618.512300 1641.969000 1665.425700 1688.882400" > - "\[ \t\r\n\]+1712.339100 1735.795800 1759.252500 1782.709200 1806.165900 1829.622600 1853.079300 1876.536000" > - "\[ \t\r\n\]+1899.992700 1923.449400 1946.906100 1970.362800 1993.819500 2017.276200 2040.732900 2064.189600" > - "\[ \t\r\n\]+2087.646300 2111.103000 2134.559700 2158.016400 2181.473100 2204.929800 2228.386500 2251.843200" > - "\[ \t\r\n\]+2275.299900 2298.756600 2322.213300\[ \t\r\n\]+\[ \t\r\n\]+" > + "\[ \t\r\n\]+" > ".*array_f :" > ".*student id :\[\t \]+.*YELLOW" > ".*array_i :" > @@ -259,18 +240,7 @@ if {![gdb_skip_float_test "print print_d > "\[ \t\r\n\]+=========" > "\[ \t\r\n\]+\[ \t\r\n\]+0.000000" > "\[ \t\r\n\]+23.456700 46.913400 70.370100 93.826800 117.283500 140.740200 164.196900 187.653600" > - "\[ \t\r\n\]+211.110300 234.567000 258.023700 281.480400 304.937100 328.393800 351.850500 375.307200" > - "\[ \t\r\n\]+398.763900 422.220600 445.677300 469.134000 492.590700 516.047400 539.504100 562.960800" > - "\[ \t\r\n\]+586.417500 609.874200 633.330900 656.787600 680.244300 703.701000 727.157700 750.614400" > - "\[ \t\r\n\]+774.071100 797.527800 820.984500 844.441200 867.897900 891.354600 914.811300 938.268000" > - "\[ \t\r\n\]+961.724700 985.181400 1008.638100 1032.094800 1055.551500 1079.008200 1102.464900 1125.921600" > - "\[ \t\r\n\]+1149.378300 1172.835000 1196.291700 1219.748400 1243.205100 1266.661800 1290.118500 1313.575200" > - "\[ \t\r\n\]+1337.031900 1360.488600 1383.945300 1407.402000 1430.858700 1454.315400 1477.772100 1501.228800" > - "\[ \t\r\n\]+1524.685500 1548.142200 1571.598900 1595.055600 1618.512300 1641.969000 1665.425700 1688.882400" > - "\[ \t\r\n\]+1712.339100 1735.795800 1759.252500 1782.709200 1806.165900 1829.622600 1853.079300 1876.536000" > - "\[ \t\r\n\]+1899.992700 1923.449400 1946.906100 1970.362800 1993.819500 2017.276200 2040.732900 2064.189600" > - "\[ \t\r\n\]+2087.646300 2111.103000 2134.559700 2158.016400 2181.473100 2204.929800 2228.386500 2251.843200" > - "\[ \t\r\n\]+2275.299900 2298.756600 2322.213300\[ \t\r\n\]+\[ \t\r\n\]+" > + "\[ \t\r\n\]+" > } > } > > @@ -289,18 +259,7 @@ if {![gdb_skip_float_test "continuing to > "\[ \t\r\n\]+=========" > "\[ \t\r\n\]+0.000000" > "\[ \t\r\n\]+23.456700 46.913400 70.370100 93.826800 117.283500 140.740200 164.196900 187.653600" > - "\[ \t\r\n\]+211.110300 234.567000 258.023700 281.480400 304.937100 328.393800 351.850500 375.307200" > - "\[ \t\r\n\]+398.763900 422.220600 445.677300 469.134000 492.590700 516.047400 539.504100 562.960800" > - "\[ \t\r\n\]+586.417500 609.874200 633.330900 656.787600 680.244300 703.701000 727.157700 750.614400" > - "\[ \t\r\n\]+774.071100 797.527800 820.984500 844.441200 867.897900 891.354600 914.811300 938.268000" > - "\[ \t\r\n\]+961.724700 985.181400 1008.638100 1032.094800 1055.551500 1079.008200 1102.464900 1125.921600" > - "\[ \t\r\n\]+1149.378300 1172.835000 1196.291700 1219.748400 1243.205100 1266.661800 1290.118500 1313.575200" > - "\[ \t\r\n\]+1337.031900 1360.488600 1383.945300 1407.402000 1430.858700 1454.315400 1477.772100 1501.228800" > - "\[ \t\r\n\]+1524.685500 1548.142200 1571.598900 1595.055600 1618.512300 1641.969000 1665.425700 1688.882400" > - "\[ \t\r\n\]+1712.339100 1735.795800 1759.252500 1782.709200 1806.165900 1829.622600 1853.079300 1876.536000" > - "\[ \t\r\n\]+1899.992700 1923.449400 1946.906100 1970.362800 1993.819500 2017.276200 2040.732900 2064.189600" > - "\[ \t\r\n\]+2087.646300 2111.103000 2134.559700 2158.016400 2181.473100 2204.929800 2228.386500 2251.843200" > - "\[ \t\r\n\]+2275.299900 2298.756600 2322.213300.*HELLO WORLD.*main \\(\\) at .*call-ar-st.c:1236.*printf\\(.BYE BYE FOR NOW.n.\\)." > + "\[ \t\r\n\]+.*HELLO WORLD.*main \\(\\) at .*call-ar-st.c:1236.*printf\\(.BYE BYE FOR NOW.n.\\)." > } > } else { > gdb_test "continue" "" "" > @@ -740,5 +699,6 @@ if ![gdb_skip_stdio_test "print print_on > } > } > > +set timeout $oldtimeout > return > > > -- > Corinna Vinschen > Cygwin Developer > Red Hat, Inc. > mailto:vinschen@redhat.com