]> git.ipfire.org Git - thirdparty/glibc.git/blob - malloc/tst-trim1.c
build-many-glibcs.py: Add openrisc hard float glibc variant
[thirdparty/glibc.git] / malloc / tst-trim1.c
1 #include <malloc.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5
6 #define N 10000
7
8 static void *arr[N];
9
10 static int
11 do_test (void)
12 {
13 for (int i = 0; i < N; ++i)
14 {
15 size_t size = random () % 16384;
16
17 if ((arr[i] = malloc (size)) == NULL)
18 {
19 nomem:
20 puts ("not enough memory");
21 return 0;
22 }
23
24 memset (arr[i], size, size);
25 }
26
27 void *p = malloc (256);
28 if (p == NULL)
29 goto nomem;
30 memset (p, 1, 256);
31
32 puts ("==================================================================");
33
34 for (int i = 0; i < N; ++i)
35 if (i % 13 != 0)
36 free (arr[i]);
37
38 puts ("==================================================================");
39
40 malloc_trim (0);
41
42 puts ("==================================================================");
43
44 p = malloc (30000);
45 if (p == NULL)
46 goto nomem;
47
48 memset (p, 2, 30000);
49
50 malloc_trim (0);
51
52 return 0;
53 }
54
55 #define TEST_FUNCTION do_test ()
56 #include "../test-skeleton.c"