OSDN Git Service

Fix the default alignment of the allocations.
authorChristopher Ferris <cferris@google.com>
Thu, 11 Feb 2016 23:51:31 +0000 (15:51 -0800)
committerChristopher Ferris <cferris@google.com>
Sat, 13 Feb 2016 01:30:30 +0000 (17:30 -0800)
commit72df6708c829a4c6494936fdfbda6dc7e68e647b
tree17ede0d54b6f50c3598a3fcec56f50754067690d
parent72bca4b4105e24058f3f2eca024382bedb122a30
Fix the default alignment of the allocations.

In order to enforce this constraint:

The pointer returned if the allocation succeeds shall be suitably
aligned so that it may be assigned to a pointer to any type of object
and then used to access such an object in the space allocated.

Force all allocations on 32 bit systems to have 8 byte alignment,
and all allocations on 64 bit systems to have 16 byte alignment.

Add a test to verify that the allocator returns the correct alignments.

Bug: 26739265
Change-Id: I9af53279617408676b94e4ec6481b3ed7ffafc6a
libc/malloc_debug/BacktraceData.cpp
libc/malloc_debug/Config.cpp
libc/malloc_debug/Config.h
libc/malloc_debug/DebugData.cpp
libc/malloc_debug/GuardData.cpp
libc/malloc_debug/malloc_debug.cpp
libc/malloc_debug/malloc_debug.h
libc/malloc_debug/tests/malloc_debug_config_tests.cpp
libc/malloc_debug/tests/malloc_debug_unit_tests.cpp
tests/malloc_test.cpp