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: gdb-patches <gdb-patches at sources dot redhat dot com>
- Subject: Re: [RFA]: testsuite/gdb.base/call-ar-st.[exp|c]: Change to work better with small targets
- From: Elena Zannoni <ezannoni at cygnus dot com>
- Date: Sat, 27 Oct 2001 10:57:16 -0400
- References: <20011025160025.Q7622@cygbert.vinschen.de>
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 <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