Add backtrace generation to MALLOC_DEBUG memory corruption reports
authorMatthew Jordan <mjordan@digium.com>
Sat, 8 Jun 2013 22:09:07 +0000 (22:09 +0000)
committerMatthew Jordan <mjordan@digium.com>
Sat, 8 Jun 2013 22:09:07 +0000 (22:09 +0000)
commitc43f380d036783ae10c426f23e8863ec1efdaa68
treef4487b920b741d1e6a0d3195168a234935906ea1
parent2fe6b6a5331e41b351774da0b66de40aa2f77ae7
Add backtrace generation to MALLOC_DEBUG memory corruption reports

This patch allows astmm to access the backtrace generation code in Asterisk.
When memory is allocated, a backtrace is created and stored with the memory
region that tracks the allocation. If a memory corruption is detected, the
backtrace is printed to the astmm log. The backtrace will make use of the
BETTER_BACKTRACES build option if available.

As a result, this patch moves the backtrace generation code into its own file
and uses the non-wrapped versions of the C library memory allocation routines.
This allows the memory allocation code to safely use the backtrace generation
routines without infinitely recursing.

Review: https://reviewboard.asterisk.org/r/2567

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@391012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
include/asterisk/backtrace.h [new file with mode: 0644]
include/asterisk/lock.h
include/asterisk/logger.h
main/astmm.c
main/astobj2.c
main/backtrace.c [new file with mode: 0644]
main/logger.c
utils/extconf.c