On 06/12/2017 02:28 PM, Christophe Lyon wrote:
Hi Tom,

On 9 June 2017 at 17:25, Mike Stump <mikest...@comcast.net> wrote:
On Jun 9, 2017, at 7:24 AM, Tom de Vries <tom_devr...@mentor.com> wrote:
this patch adds effective target stack_size.

OK for trunk if x86_64 and nvptx testing succeeds?

Ok.

The only last issue in this area that I know about is that there are a few more 
test cases that need up to 48 MB to run, the problem is that targets might have 
substantially less memory.  Stack size is one of the ways this problem can be 
exposed.  The failure to load case is or can be handled in other ways, but the 
dynamic allocation case I think is relatively poorly handled.  On my machine, I 
just punted by running on a virtual simulator that I pushed memory up to 48 MB 
and ignored the issue.  If anyone wants to try their hand at it, I'd be happy 
to review some patches.  For those on demand virtual memory systems, of course, 
the problem is invisible.  I didn't have any good ideas in this area.  Marking 
large memory test cases with size information, and then just trimming based 
upon size was my only thought.  Not exactly portable, as the exact size of any 
test case is of course target dependent; but, if we get close enough, it can 
provide enough of a solution I think.

If people have better ideas in this area, even if you don't want to implement 
them, it'd be nice to hear about them.

After this commit (r249090), I've noticed that badalloc1.C fails at
execution on aarch64 and arm bare-metal targets.

It is compiled with -DSTACK_SIZE=16384, maybe that's too small?

I think that what's going on is the following:
- your board description file for aarch64 and arm bare-metal sets
  gcc,stack_size
- before I committed the patch, STACK_SIZE was not defined when
  compiling this testcase, because the activated .exp files do not
  define it
- after I committed the patch, STACK_SIZE started to be defined, and
  the test started to fail

I'm not sure if this test was ever compiled with STACK_SIZE defined.

Either way, the test-case uses the presence of STACK_SIZE, not the actual value, so changing the value of gcc,stack_size won't make a difference.

Ideally you'd find out what the exact reason for the failure is, and update the test-case accordingly.

The easiest thing we can do is to remove the STACK_SIZE setting in the test-case (and to avoid confusion, remove all the dead STACK_SIZE-enabled code), which returns the status quo of before the patch.

Thanks,
- Tom

Reply via email to