diff options
author | Christopher Faylor <me@cgf.cx> | 2002-08-26 04:33:46 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2002-08-26 04:33:46 +0000 |
commit | 2e2b268ce6c2cf278e255a8cccaf40cbdfe7b4ec (patch) | |
tree | 6c82e7f8fdf01f0ef7a08edac592e64ae34db379 /newlib/libc/include/malloc.h | |
parent | 720055740313044a597240a941e26a15459fcadd (diff) | |
download | cygnal-2e2b268ce6c2cf278e255a8cccaf40cbdfe7b4ec.tar.gz cygnal-2e2b268ce6c2cf278e255a8cccaf40cbdfe7b4ec.tar.bz2 cygnal-2e2b268ce6c2cf278e255a8cccaf40cbdfe7b4ec.zip |
* libc/include/malloc.h: On cygwin, define malloc _r functions as wrapper
macros to standard malloc functions.
* libc/include/stdlib.h: Ditto.
* configure.host: Always define MALLOC_PROVIDED on cygwin.
Diffstat (limited to 'newlib/libc/include/malloc.h')
-rw-r--r-- | newlib/libc/include/malloc.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/newlib/libc/include/malloc.h b/newlib/libc/include/malloc.h index 08a14252a..c46357c65 100644 --- a/newlib/libc/include/malloc.h +++ b/newlib/libc/include/malloc.h @@ -35,48 +35,113 @@ struct mallinfo { /* The routines. */ extern _PTR malloc _PARAMS ((size_t)); +#ifdef __CYGWIN__ +#undef _malloc_r +#define _malloc_r(r, s) malloc (s) +#else extern _PTR _malloc_r _PARAMS ((struct _reent *, size_t)); +#endif extern _VOID free _PARAMS ((_PTR)); +#ifdef __CYGWIN__ +#undef _free_r +#define _free_r(r, p) free (p) +#else extern _VOID _free_r _PARAMS ((struct _reent *, _PTR)); +#endif extern _PTR realloc _PARAMS ((_PTR, size_t)); +#ifdef __CYGWIN__ +#undef _realloc_r +#define _realloc_r(r, p, s) realloc (p, s) +#else extern _PTR _realloc_r _PARAMS ((struct _reent *, _PTR, size_t)); +#endif extern _PTR calloc _PARAMS ((size_t, size_t)); +#ifdef __CYGWIN__ +#undef _calloc_r +#define _calloc_r(r, s1, s2) calloc (s1, s2); +#else extern _PTR _calloc_r _PARAMS ((struct _reent *, size_t, size_t)); +#endif extern _PTR memalign _PARAMS ((size_t, size_t)); +#ifdef __CYGWIN__ +#undef _memalign_r +#define _memalign_r(r, s1, s2) memalign (s1, s2); +#else extern _PTR _memalign_r _PARAMS ((struct _reent *, size_t, size_t)); +#endif extern struct mallinfo mallinfo _PARAMS ((void)); +#ifdef __CYGWIN__ +#undef _mallinfo_r +#define _mallinfo_r(r) mallinfo () +#else extern struct mallinfo _mallinfo_r _PARAMS ((struct _reent *)); +#endif extern void malloc_stats _PARAMS ((void)); +#ifdef __CYGWIN__ +#undef _malloc_stats_r +#define _malloc_stats_r(r) malloc_stats () +#else extern void _malloc_stats_r _PARAMS ((struct _reent *)); +#endif extern int mallopt _PARAMS ((int, int)); +#ifdef __CYGWIN__ +#undef _mallopt_r +#define _mallopt_r(i1, i2) mallopt (i1, i2) +#else extern int _mallopt_r _PARAMS ((struct _reent *, int, int)); +#endif extern size_t malloc_usable_size _PARAMS ((_PTR)); +#ifdef __CYGWIN__ +#undef _malloc_usable_size_r +#define _malloc_usable_size_r(r, p) malloc_usable_size (p) +#else extern size_t _malloc_usable_size_r _PARAMS ((struct _reent *, _PTR)); +#endif /* These aren't too useful on an embedded system, but we define them anyhow. */ extern _PTR valloc _PARAMS ((size_t)); +#ifdef __CYGWIN__ +#undef _valloc_r +#define _valloc_r(r, s) valloc (s) +#else extern _PTR _valloc_r _PARAMS ((struct _reent *, size_t)); +#endif extern _PTR pvalloc _PARAMS ((size_t)); +#ifdef __CYGWIN__ +#undef _pvalloc_r +#define _pvalloc_r(r, s) pvalloc (s) +#else extern _PTR _pvalloc_r _PARAMS ((struct _reent *, size_t)); +#endif extern int malloc_trim _PARAMS ((size_t)); +#ifdef __CYGWIN__ +#undef _malloc_trim_r +#define _malloc_trim_r(r, s) malloc_trim (s) +#else extern int _malloc_trim_r _PARAMS ((struct _reent *, size_t)); +#endif /* A compatibility routine for an earlier version of the allocator. */ extern _VOID mstats _PARAMS ((char *)); +#ifdef __CYGWIN__ +#undef _mstats_r +#define _mstats_r(r, p) mstats (p) +#else extern _VOID _mstats_r _PARAMS ((struct _reent *, char *)); +#endif /* SVID2/XPG mallopt options */ |