about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--malloc/hooks.c2
-rw-r--r--malloc/malloc.c16
3 files changed, 10 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 14822aface..2b51267194 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2016-05-24  Florian Weimer  <fweimer@redhat.com>
+
+	[BZ #6527]
+	* malloc/malloc.c (MALLOC_ALIGNMENT): Use correct alignment
+	unconditionally.
+	* malloc/hooks.c (MALLOC_STATE_VERSION): Increase state version.
+
 2016-05-23  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
 
 	* stdlib/tst-strtod6.c (do_test): Use new type generic
diff --git a/malloc/hooks.c b/malloc/hooks.c
index 45241f2170..caa1e70d13 100644
--- a/malloc/hooks.c
+++ b/malloc/hooks.c
@@ -465,7 +465,7 @@ memalign_check (size_t alignment, size_t bytes, const void *caller)
    then the hooks are reset to 0.  */
 
 #define MALLOC_STATE_MAGIC   0x444c4541l
-#define MALLOC_STATE_VERSION (0 * 0x100l + 4l) /* major*0x100 + minor */
+#define MALLOC_STATE_VERSION (0 * 0x100l + 5l) /* major*0x100 + minor */
 
 struct malloc_save_state
 {
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 44524ff984..ead9a21d81 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -352,20 +352,8 @@ __malloc_assert (const char *assertion, const char *file, unsigned int line,
 
 
 #ifndef MALLOC_ALIGNMENT
-# if !SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_16)
-/* This is the correct definition when there is no past ABI to constrain it.
-
-   Among configurations with a past ABI constraint, it differs from
-   2*SIZE_SZ only on powerpc32.  For the time being, changing this is
-   causing more compatibility problems due to malloc_get_state and
-   malloc_set_state than will returning blocks not adequately aligned for
-   long double objects under -mlong-double-128.  */
-
-#  define MALLOC_ALIGNMENT       (2 *SIZE_SZ < __alignof__ (long double)      \
-                                  ? __alignof__ (long double) : 2 *SIZE_SZ)
-# else
-#  define MALLOC_ALIGNMENT       (2 *SIZE_SZ)
-# endif
+# define MALLOC_ALIGNMENT       (2 * SIZE_SZ < __alignof__ (long double) \
+				 ? __alignof__ (long double) : 2 * SIZE_SZ)
 #endif
 
 /* The corresponding bit mask value */