| 1234567891011121314151617181920212223242526 | /* * Macros to transparently switch between the stack and heap for large * allocations.  The former is useful on MMU systems as it results in * smaller code, but the latter is required on NoMMU systems.  This is * due to small stacks that cannot grow and so doing large allocs will * cause a stack overflow. * * Copyright (C) 2010 Mike Frysinger <vapier@gentoo.org> * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */#ifndef _UCLIBC_ALLOC_H#define _UCLIBC_ALLOC_H#include <alloca.h>#include <stdlib.h>#ifdef __ARCH_USE_MMU__# define stack_heap_alloc(x) alloca(x)# define stack_heap_free(x)  do { if (0) free(x); } while (0)#else# define stack_heap_alloc(x) malloc(x)# define stack_heap_free(x)  free(x)#endif#endif
 |