Lines 3-14
Link Here
|
3 |
#include <string.h> |
3 |
#include <string.h> |
4 |
#include <unistd.h> |
4 |
#include <unistd.h> |
5 |
|
5 |
|
6 |
u_long NBUCKETS = 2000; |
6 |
static u_long NBUCKETS = 2000; |
7 |
u_long NOPS = 200000; |
7 |
static u_long NOPS = 200000; |
8 |
u_long NSIZE = (16*1024); |
8 |
static u_long NSIZE = (16*1024); |
9 |
|
9 |
|
|
|
10 |
extern char **foo; |
10 |
char **foo; |
11 |
char **foo; |
11 |
|
12 |
|
|
|
13 |
extern __attribute__((weak)) void *sbrk(intptr_t); |
14 |
|
12 |
int |
15 |
int |
13 |
main(int argc, char **argv) |
16 |
main(int argc, char **argv) |
14 |
{ |
17 |
{ |
Lines 17-23
main(int argc, char **argv)
Link Here
|
17 |
if (argc > 1) NOPS = strtoul(argv[1],0,0); |
20 |
if (argc > 1) NOPS = strtoul(argv[1],0,0); |
18 |
if (argc > 2) NBUCKETS = strtoul(argv[2],0,0); |
21 |
if (argc > 2) NBUCKETS = strtoul(argv[2],0,0); |
19 |
if (argc > 3) NSIZE = strtoul(argv[3],0,0); |
22 |
if (argc > 3) NSIZE = strtoul(argv[3],0,0); |
20 |
printf("BRK(0)=%p ", sbrk(0)); |
23 |
if (sbrk) printf("BRK(0)=%p ", sbrk(0)); |
21 |
foo = malloc(sizeof(*foo) * NBUCKETS); |
24 |
foo = malloc(sizeof(*foo) * NBUCKETS); |
22 |
memset(foo, 0, sizeof(*foo) * NBUCKETS); |
25 |
memset(foo, 0, sizeof(*foo) * NBUCKETS); |
23 |
for (i = 1; i <= 4096; i *= 2) { |
26 |
for (i = 1; i <= 4096; i *= 2) { |
Lines 44-50
main(int argc, char **argv)
Link Here
|
44 |
if (foo[j]) |
47 |
if (foo[j]) |
45 |
foo[j][0] = 1; |
48 |
foo[j][0] = 1; |
46 |
} |
49 |
} |
47 |
printf("BRK(1)=%p ", sbrk(0)); |
50 |
if (sbrk) printf("BRK(0)=%p ", sbrk(0)); |
48 |
for (j = 0; j < NBUCKETS; j++) { |
51 |
for (j = 0; j < NBUCKETS; j++) { |
49 |
if (foo[j]) { |
52 |
if (foo[j]) { |
50 |
free(foo[j]); |
53 |
free(foo[j]); |
Lines 52-57
main(int argc, char **argv)
Link Here
|
52 |
} |
55 |
} |
53 |
} |
56 |
} |
54 |
printf("BRK(2)=%p NOPS=%lu NBUCKETS=%lu NSIZE=%lu\n", |
57 |
printf("BRK(2)=%p NOPS=%lu NBUCKETS=%lu NSIZE=%lu\n", |
55 |
sbrk(0), NOPS, NBUCKETS, NSIZE); |
58 |
sbrk ? sbrk(0) : 0, NOPS, NBUCKETS, NSIZE); |
56 |
return 0; |
59 |
return 0; |
57 |
} |
60 |
} |