Home | History | Annotate | Download | only in tests
      1 #include <stdio.h>
      2 
      3 __attribute__((noinline)) void big(void)
      4 {
      5    /* The below ensures the stack grows a lot. However, we hope the stack
      6       extension is not done yet, as no memory has been read/written. */
      7    volatile char c[200000];
      8 
      9    /* Access only the higher part of the stack, to avoid mapping SP */
     10    /* The below 2 printfs should produce deterministic output, whatever
     11       the random value of c[]. */
     12    if (c[200000 - 1])
     13       fprintf(stderr, "Accessing fresh %s\n", "stack");
     14    else
     15       fprintf(stderr, "Accessing %s stack\n", "fresh");
     16 
     17 }
     18 
     19 int main(void )
     20 {
     21    big();
     22    return 0;
     23 }
     24