1ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 2ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown/* Demonstrate Memcheck correctly handling a 64M array on the stack. 3ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown Requires --max-stackframe=67108884 or above. And since it 4ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown generates a very large stack, --main-stacksize=67200000 5ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown (approximately) is also required. */ 6ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 7ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#include <stdio.h> 8ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 9ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define N_MBYTES 64 10ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 11ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown#define N_INTS ((N_MBYTES * 1048576) / sizeof(int)) 12ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 13ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown 14ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brownint main ( void ) 15ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown{ 16ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int i, sum; 17ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown int arr[N_INTS]; 18ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fprintf(stderr, "lsframe1: start\n"); 19ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown for (i = 0; i < N_INTS; i++) 20ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown arr[i] = i; 21ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown sum = 0; 22ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown for (i = 0; i < N_INTS; i++) 23ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown sum += arr[i]; 24ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown fprintf(stderr, "lsframe1: done, result is %d\n", sum); 25ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown return 0; 26ed07e00d438c74b7a23c01bfffde77e3968305e4Jeff Brown} 27