12 void *calloc_dbg(size_t num, size_t size, char *function, char *file,
17 fprintf(stderr, "calloc of %d bytes at %s @%s:%d = ", (int) (num * size),
18 function, file, line);
19 ptr = calloc(num, size);
20 fprintf(stderr, "%p\n", ptr);
28 void *malloc_dbg(size_t size, char *function, char *file, int line)
32 fprintf(stderr, "malloc of %d bytes at %s @%s:%d = ", (int) size, function,
34 result = malloc(size);
35 fprintf(stderr, "%p\n", result);
43 void free_dbg(void *ptr, char *function, char *file, int line)
45 fprintf(stderr, "free of %p at %s @%s:%d\n", ptr, function, file,
55 void *calloc(size_t num, size_t size)
57 void *ptr = malloc(num * size);
60 memset(ptr, 0, num * size);
68 void *malloc(size_t size)
72 /* Some programs will call malloc (0). Lets be strict and return NULL */
76 result = mmap((void *) 0, size, PROT_READ | PROT_WRITE,
77 #ifdef __UCLIBC_HAS_MMU__
78 MAP_PRIVATE | MAP_ANONYMOUS, 0, 0
80 MAP_SHARED | MAP_ANONYMOUS, 0, 0
84 if (result == MAP_FAILED)
103 void *realloc(void *ptr, size_t size)
108 newptr = malloc(size);
110 memcpy(newptr, ptr, size);