The get_malloc_leak_info() currently asssumes that the totalMemory out parameter
was pre-initialized to zero before the routine is called. If it is not then the
accumulated totalMemory value will be incorrect. It is likely that many callers
will simply allocate totalMemory on the stack with no initialization and assume
that get_malloc_leak_info will set the proper value.
As an example, the caller in frameworks/base/core/jni/android_os_Debug.cpp
calls get_malloc_leak_info() with the address uninitiazed stack variable
for totalMemory. It is probably best to fix this in get_malloc_leak_info.
Change-Id: I84c927c3781419585794726115b7d34d8fdd24ae
Merge commit '9aac38249b579282ae8eaa630de3deaf97c4edff'
* commit '9aac38249b579282ae8eaa630de3deaf97c4edff':
libc: remove C++ comments from public headers.
This reverts commit 80fba9a2fe4eacaabee99cf0bbead872c2792231,
which caused the system to not boot anymore, aborting with:
"java.lang.RuntimeException: Missing static main on com.android.server.SystemServer".
Change-Id: I745e0a23c728cccf5f95a3c7642d544478a4e57e
Merge commit '307aadb8473744c3d946add8b3e4947ada5481aa' into gingerbread-plus-aosp
* commit '307aadb8473744c3d946add8b3e4947ada5481aa':
libc: Add missing C++ guards to <pathconf.h>
Merge commit 'bd8d987b3c3aa6d9d00cede2cb091f00bdb42204' into gingerbread-plus-aosp
* commit 'bd8d987b3c3aa6d9d00cede2cb091f00bdb42204':
libc: remove C++ comments from public headers.
Merge commit '8120a8df848e6dec31ef5f00bc0b41ed95ce1310'
* commit '8120a8df848e6dec31ef5f00bc0b41ed95ce1310':
Fixes for the ARM-specific bswap_16, bswap_32, and bswap_64.
Merge commit '3cf53d1a7814e1520df09d24b009c16f4f27db0d' into gingerbread-plus-aosp
* commit '3cf53d1a7814e1520df09d24b009c16f4f27db0d':
Fixes for the ARM-specific bswap_16, bswap_32, and bswap_64.
1. Make the feature test work by excluding known-deficient processors, so
we don't have to maintain a complete list of all the processors that support
REV and REV16.
2. Don't abuse 'register' to get an effect similar to GCC's +l constraint,
but which was unnecessarily restrictive.
3. Fix __swap64md so _x isn't clobbered, breaking 64-bit swaps.
4. Make <byteswap.h> (which declars bswap_16 and friends) use <endian.h>
rather than <sys/endian.h>, so we get the machine-dependent implementations.
Change-Id: I6a38fad7a9fbe394aff141489617eb3883e1e944
The implementation was using a double-checked locking approach that
could break on SMP.
In addition to the barriers I also switched to a volatile pointer. I
don't think this will matter unless gcc can conclude that _normal_lock
can't affect *once_control, but I figured it was better to be safe.
(It seems to have no impact whatsoever on the generated code.)
Bug 3022795.
Change-Id: Ib91da25d57ff5bee4288526e39d457153ef6aacd
Merge commit 'b9e49ad56e5776ace7c6eab2e997d5b7acb16792' into gingerbread-plus-aosp
* commit 'b9e49ad56e5776ace7c6eab2e997d5b7acb16792':
Use a recursive lock for pthread_once. DO NOT MERGE.
Merge commit 'ef3644d110bcb44010672c0ad0bc7c96fd130c8f'
* commit 'ef3644d110bcb44010672c0ad0bc7c96fd130c8f':
Use ARMv6 instruction for handling byte order
Merge commit '312be567a03aaf851707a268807ee666b12f8c74' into gingerbread-plus-aosp
* commit '312be567a03aaf851707a268807ee666b12f8c74':
Use ARMv6 instruction for handling byte order
Merge commit '6bf08d131f4109088b7fa1e53196513636c49e9b'
* commit '6bf08d131f4109088b7fa1e53196513636c49e9b':
Move the atom optimization flags into TARGET_linux-x86.mk.