aboutsummaryrefslogtreecommitdiff
path: root/ChangeLog
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2017-10-17 18:55:16 +0100
committerWilco Dijkstra <wdijkstr@arm.com>2017-10-17 18:55:16 +0100
commit3381be5cdef2e43949db12f66a5a3ec23b2c4c90 (patch)
tree113f4b911e7eb488ec01ded9307bedcb38fa5793 /ChangeLog
parente956075a5a2044d05ce48b905b10270ed4a63e87 (diff)
downloadglibc-3381be5cdef2e43949db12f66a5a3ec23b2c4c90.zip
glibc-3381be5cdef2e43949db12f66a5a3ec23b2c4c90.tar.gz
glibc-3381be5cdef2e43949db12f66a5a3ec23b2c4c90.tar.bz2
Improve malloc initialization sequence
The current malloc initialization is quite convoluted. Instead of sometimes calling malloc_consolidate from ptmalloc_init, call malloc_init_state early so that the main_arena is always initialized. The special initialization can now be removed from malloc_consolidate. This also fixes BZ #22159. Check all calls to malloc_consolidate and remove calls that are redundant initialization after ptmalloc_init, like in int_mallinfo and __libc_mallopt (but keep the latter as consolidation is required for set_max_fast). Update comments to improve clarity. Remove impossible initialization check from _int_malloc, fix assert in do_check_malloc_state to ensure arena->top != 0. Fix the obvious bugs in do_check_free_chunk and do_check_remalloced_chunk to enable single threaded malloc debugging (do_check_malloc_state is not thread safe!). [BZ #22159] * malloc/arena.c (ptmalloc_init): Call malloc_init_state. * malloc/malloc.c (do_check_free_chunk): Fix build bug. (do_check_remalloced_chunk): Fix build bug. (do_check_malloc_state): Add assert that checks arena->top. (malloc_consolidate): Remove initialization. (int_mallinfo): Remove call to malloc_consolidate. (__libc_mallopt): Clarify why malloc_consolidate is needed.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index fca7345..6cb971d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
2017-10-17 Wilco Dijkstra <wdijkstr@arm.com>
+ [BZ #22159]
+ * malloc/arena.c (ptmalloc_init): Call malloc_init_state.
+ * malloc/malloc.c (do_check_free_chunk): Fix build bug.
+ (do_check_remalloced_chunk): Fix build bug.
+ (do_check_malloc_state): Add assert that checks arena->top.
+ (malloc_consolidate): Remove initialization.
+ (int_mallinfo): Remove call to malloc_consolidate.
+ (__libc_mallopt): Clarify why malloc_consolidate is needed.
+
+2017-10-17 Wilco Dijkstra <wdijkstr@arm.com>
+
* malloc/malloc.c (FASTCHUNKS_BIT): Remove.
(have_fastchunks): Remove.
(clear_fastchunks): Remove.