This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA]: testsuite/gdb.base/call-ar-st.[exp|c]: Change to work better with small targets
- To: Elena Zannoni <ezannoni at cygnus dot com>
- Subject: Re: [RFA]: testsuite/gdb.base/call-ar-st.[exp|c]: Change to work better with small targets
- From: Fernando Nasser <fnasser at redhat dot com>
- Date: Mon, 29 Oct 2001 13:12:49 -0500
- CC: gdb-patches <gdb-patches at sources dot redhat dot com>
- Organization: Red Hat Canada
- References: <20011025160025.Q7622@cygbert.vinschen.de> <15322.52044.698921.256623@krustylu.cygnus.com>
Elena Zannoni wrote:
>
> 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
>
If Elena says it is right it is fine with me. Please check it in.
And thanks for the patch.
Fernando
> >
> > 2001-10-25 Corinna Vinschen <vinschen@redhat.com>
> >
> > * 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
--
Fernando Nasser
Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
2323 Yonge Street, Suite #300
Toronto, Ontario M4P 2C9