mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
Make malloc build for no-threads configurations.
This commit is contained in:
parent
2ae1ae5cf4
commit
750c1f2a9a
11
ChangeLog
11
ChangeLog
@ -1,10 +1,17 @@
|
||||
2012-08-17 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* sysdeps/generic/malloc-machine.h (MUTEX_INITIALIZER): New macro.
|
||||
(atomic_full_barrier, atomic_read_barrier, atomic_write_barrier):
|
||||
Macros removed.
|
||||
* malloc/arena.c (save_malloc_hook, save_free_hook): Conditionalize on
|
||||
[!NO_THREADS].
|
||||
(malloc_atfork, free_atfork, atfork_recursive_cntr): Likewise.
|
||||
(ptmalloc_lock_all, ptmalloc_unlock_all, ptmalloc_unlock_all2):
|
||||
Likewise.
|
||||
|
||||
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Use NULL rather than 0 for
|
||||
__libc_cleanup_push argument.
|
||||
|
||||
2012-08-17 Roland McGrath <roland@hack.frob.com>
|
||||
|
||||
* bits/param.h: New file.
|
||||
* misc/sys/param.h: New file.
|
||||
* include/sys/param.h: New file.
|
||||
|
@ -141,6 +141,8 @@ int __malloc_initialized = -1;
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
#ifndef NO_THREADS
|
||||
|
||||
/* atfork support. */
|
||||
|
||||
static __malloc_ptr_t (*save_malloc_hook) (size_t __size,
|
||||
@ -276,7 +278,7 @@ ptmalloc_unlock_all (void)
|
||||
(void)mutex_unlock(&list_lock);
|
||||
}
|
||||
|
||||
#ifdef __linux__
|
||||
# ifdef __linux__
|
||||
|
||||
/* In NPTL, unlocking a mutex in the child process after a
|
||||
fork() is currently unsafe, whereas re-initializing it is safe and
|
||||
@ -311,11 +313,13 @@ ptmalloc_unlock_all2 (void)
|
||||
atfork_recursive_cntr = 0;
|
||||
}
|
||||
|
||||
#else
|
||||
# else
|
||||
|
||||
#define ptmalloc_unlock_all2 ptmalloc_unlock_all
|
||||
# define ptmalloc_unlock_all2 ptmalloc_unlock_all
|
||||
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#endif /* !NO_THREADS */
|
||||
|
||||
/* Initialization routine. */
|
||||
#include <string.h>
|
||||
|
@ -1075,9 +1075,10 @@ static void* realloc_check(void* oldmem, size_t bytes,
|
||||
const void *caller);
|
||||
static void* memalign_check(size_t alignment, size_t bytes,
|
||||
const void *caller);
|
||||
/* These routines are never needed in this configuration. */
|
||||
#ifndef NO_THREADS
|
||||
static void* malloc_atfork(size_t sz, const void *caller);
|
||||
static void free_atfork(void* mem, const void *caller);
|
||||
#endif
|
||||
|
||||
|
||||
/* ------------- Optional versions of memcopy ---------------- */
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Basic platform-independent macro definitions for mutexes,
|
||||
thread-specific data and parameters for malloc.
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -34,10 +34,11 @@
|
||||
be based on atomic test-and-set operations, for example. */
|
||||
typedef int mutex_t;
|
||||
|
||||
# define mutex_init(m) (*(m) = 0)
|
||||
# define mutex_lock(m) ((*(m) = 1), 0)
|
||||
# define mutex_trylock(m) (*(m) ? 1 : ((*(m) = 1), 0))
|
||||
# define mutex_unlock(m) (*(m) = 0)
|
||||
# define mutex_init(m) (*(m) = 0)
|
||||
# define mutex_lock(m) ((*(m) = 1), 0)
|
||||
# define mutex_trylock(m) (*(m) ? 1 : ((*(m) = 1), 0))
|
||||
# define mutex_unlock(m) (*(m) = 0)
|
||||
# define MUTEX_INITIALIZER (0)
|
||||
|
||||
typedef void *tsd_key_t;
|
||||
# define tsd_key_create(key, destr) do {} while(0)
|
||||
|
Loading…
Reference in New Issue
Block a user