libroot_debug: Merge guarded heap into libroot_debug.

The individual debug heap implementations are now exposed via a
structure of function pointers and a common frontend dispatches the
malloc and malloc_debug APIs through them.

The MALLOC_DEBUG environment variable can be used to select the guarded
heap by adding 'g', otherwise the debug heap is used as the default.
Consequently the separate libroot_guarded is not needed anymore and has
been removed.

To allow the use of environment variables this early, init_env_post_heap
has been added and the heap dependent atfork() moved there. This allowed
to fold the code of init_heap_post_env into init_heap so the former has
been removed.
This commit is contained in:
Michael Lotz
2015-08-13 22:12:18 +02:00
parent 7492419877
commit f474606ee9
14 changed files with 477 additions and 321 deletions
+1 -1
View File
@@ -33,8 +33,8 @@ status_t __flatten_process_args(const char* const* args, int32 argCount,
char*** _flatArgs, size_t* _flatSize);
void _call_atexit_hooks_for_range(addr_t start, addr_t size);
void __init_env(const struct user_space_program_args *args);
void __init_env_post_heap(void);
status_t __init_heap(void);
void __init_heap_post_env(void);
void __heap_terminate_after(void);
void __init_time(addr_t commPageTable);