core: Stop using AST_INLINE_API for allocator functions.

This replaces AST_INLINE_API allocators in utils.h with real functions
implemented in astmm.c.  Associated macro's are also moved from utils.h
to astmm.h.

Remove menuselect conflicts between MALLOC_DEBUG and DEBUG_CHAOS as they
can now be combined.

This has multiple benefits:
* Simplifies asterisk/utils.h by removing inline functions and use of
  the logger.
* Removal of these inline functions decreases size of Asterisk and
  module binaries by 1% or more.
* Puts memory management functions together with and without
  MALLOC_DEBUG enabled, simplifying management of the code.
* Enables DEBUG_CHAOS for ASTMM_REDIRECT and bundled pjproject.

Change-Id: If9df4377f74bdbb627461b27a473123e05525887
This commit is contained in:
Corey Farrell
2018-03-14 05:27:40 -04:00
parent d5bfba60d2
commit 4d1c9d8711
13 changed files with 409 additions and 667 deletions

View File

@@ -20,10 +20,7 @@
#include "asterisk/autoconfig.h"
#include "asterisk/compat.h"
#if !defined(NO_MALLOC_DEBUG) && !defined(STANDALONE) && !defined(STANDALONE2)
#include "asterisk/astmm.h"
#endif
/* Default to allowing the umask or filesystem ACLs to determine actual file
* creation permissions