PING [PATCH,testsuite]gcc.dg struct-reorg prevent stack overflow and fix execution fail
Andy H
hutchinsonandy@aim.com
Fri Jul 4 03:07:00 GMT 2008
Olga, this is waiting on you to agree with Janis that these changes are ok.
http://gcc.gnu.org/ml/gcc-patches/2008-06/msg00822.html
Andy
Janis Johnson wrote:
> On Thu, 2008-06-12 at 20:56 -0400, Andy H wrote:
>
>> The attach patch makes changes to struct-reorg.exp tests to remove test
>> failures due to invalid test.
>>
>> Test suite symbol STACK_SIZE is used to limit number of structure
>> allocated, rather than fixed size (typically 1000) - thus avoiding
>> stack overflow.
>> If STACK_SIZE if not defined, or STACK_SIZE is large enough, the
>> existing limits are used.
>>
>> A bug is removed from wo_prof_malloc_size_var.c where a random number
>> of structures were created (0-32767) but code always modified and
>> checked 1000 entries.
>> So 1 out of 32 runs would likely fail. Access is now limited to the
>> number of structures actually created.
>>
>> wo_prof_two_strs is changed to limit random number to N rather than the
>> very odd zero..
>>
>> Some but not all test omitted check of malloc return value. This is
>> added for non-trivial allocations as a further safeguard against access
>> violations.
>>
>> XFAIL are added to some scan-ipa-dump tests which fails with AVR target.
>>
>> Ok for 4.4 mainline?
>>
>>
>> 2008-06-12 Andy Hutchinson <hutchinsonandy@aim.com>
>>
>> * gcc.dg/struct/wo_prof_escape_substr_value.c: Limit allocation
>> based on STACK_SIZE.
>> * gcc.dg/struct/wo_prof_array_through_pointer.c: Ditto.
>> * gcc.dg/struct/wo_prof_escape_substr_pointer.c: Ditto.
>>
>> * gcc.dg/struct/wo_prof_escape_arg_to_local.c: Limit allocation
>> based on STACK_SIZE. Check malloc return for NULL.
>> * gcc.dg/struct/w_prof_local_var.c: Ditto.
>> * gcc.dg/struct/wo_prof_mult_field_peeling.c: Ditto.
>>
>> * gcc.dg/struct/w_prof_local_array.c: Limit allocation based on
>> STACK_SIZE. XFAIL AVR target.
>> * gcc.dg/struct/wo_prof_local_array.c: Ditto.
>>
>> * gcc.dg/struct/w_prof_two_strs.c: Limit allocation based on
>> STACK_SIZE. Limit random size to N.
>>
>> * gcc.dg/struct/wo_prof_two_strs.c: Limit allocation based on
>> STACK_SIZE. XFAIL AVR target. Limit random size to N.
>>
>> * gcc.dg/struct/w_prof_single_str_global.c: XFAIL AVR target.
>> * gcc.dg/struct/wo_prof_array_field.c: Ditto.
>> * gcc.dg/struct/wo_prof_double_malloc.c: Ditto.
>> * gcc.dg/struct/wo_prof_global_array.c: Ditto.
>> * gcc.dg/struct/wo_prof_single_str_global.c: Ditto.
>> * gcc.dg/struct/wo_prof_single_str_local.c: Ditto.
>>
>> * gcc.dg/struct/w_prof_global_var.c: Limit allocation based on
>> STACK_SIZE. Check malloc return for NULL. XFAIL AVR target.
>> * gcc.dg/struct/wo_prof_global_var.c: Ditto.
>> * gcc.dg/struct/wo_prof_local_var.c: Ditto.
>>
>> * gcc.dg/struct/wo_prof_malloc_size_var.c: Access only allocated
>> space. Limit allocation based on STACK_SIZE. XFAIL AVR target.
>>
>
> Olga wrote these tests, so I'd like her to comment on the changes
> in case they change what's being tested; the changes look OK to me.
>
> Janis
>
>
More information about the Gcc-patches
mailing list