Dynamic Memory Management

Description

  • XWOS does not use the dynamic memory management algorithm provided by Newlib. It uses a memory pool algorithm:

Porting Method

  • Rewrite Newlib’s functions:
void * _malloc_r(struct _reent * r, size_t n);
void * _realloc_r(struct _reent * r, void * p, size_t n);
void * _calloc_r(struct _reent * r, size_t elem_nr, size_t elem_sz);
void * _memalign_r(struct _reent * r, size_t alignment, size_t n);
void * _valloc_r(struct _reent * r, size_t n);
void * _pvalloc_r(struct _reent * r, size_t n);
void _free_r(struct _reent * r, void * p);
  • Source path: xwmd/libc/newlibac/mem.c

  • Functions not yet implemented:

    • mallopt
    • malloc_usable_size
    • malloc_stats
    • mallinfo