mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Minor cleanups of malloc code
This commit is contained in:
@ -1,5 +1,8 @@
|
|||||||
2012-01-16 Ulrich Drepper <drepper@gmail.com>
|
2012-01-16 Ulrich Drepper <drepper@gmail.com>
|
||||||
|
|
||||||
|
* malloc/malloc.c: Various cleanups.
|
||||||
|
* malloc/hooks.c: Likewise.
|
||||||
|
|
||||||
* stdlib/Makefile (tests): Add bug-fmtmsg1.
|
* stdlib/Makefile (tests): Add bug-fmtmsg1.
|
||||||
* stdlib/bug-fmtmsg1.c: New file.
|
* stdlib/bug-fmtmsg1.c: New file.
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/* Malloc implementation for multiple threads without lock contention.
|
/* Malloc implementation for multiple threads without lock contention.
|
||||||
Copyright (C) 2001-2006, 2007, 2008, 2009, 2011 Free Software Foundation, Inc.
|
Copyright (C) 2001-2009, 2011, 2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
|
Contributed by Wolfram Gloger <wg@malloc.de>, 2001.
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ internal_function
|
|||||||
mem2mem_check(void *ptr, size_t sz)
|
mem2mem_check(void *ptr, size_t sz)
|
||||||
{
|
{
|
||||||
mchunkptr p;
|
mchunkptr p;
|
||||||
unsigned char* m_ptr = (unsigned char*)BOUNDED_N(ptr, sz);
|
unsigned char* m_ptr = ptr;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
if (!ptr)
|
if (!ptr)
|
||||||
@ -302,7 +302,7 @@ realloc_check(void* oldmem, size_t bytes, const void *caller)
|
|||||||
if (top_check() >= 0)
|
if (top_check() >= 0)
|
||||||
newmem = _int_malloc(&main_arena, bytes+1);
|
newmem = _int_malloc(&main_arena, bytes+1);
|
||||||
if (newmem) {
|
if (newmem) {
|
||||||
MALLOC_COPY(BOUNDED_N(newmem, bytes+1), oldmem, oldsize - 2*SIZE_SZ);
|
MALLOC_COPY(newmem, oldmem, oldsize - 2*SIZE_SZ);
|
||||||
munmap_chunk(oldp);
|
munmap_chunk(oldp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -179,7 +179,6 @@
|
|||||||
|
|
||||||
Configuration and functionality options:
|
Configuration and functionality options:
|
||||||
|
|
||||||
USE_DL_PREFIX NOT defined
|
|
||||||
USE_PUBLIC_MALLOC_WRAPPERS NOT defined
|
USE_PUBLIC_MALLOC_WRAPPERS NOT defined
|
||||||
USE_MALLOC_LOCK NOT defined
|
USE_MALLOC_LOCK NOT defined
|
||||||
MALLOC_DEBUG NOT defined
|
MALLOC_DEBUG NOT defined
|
||||||
@ -226,10 +225,6 @@
|
|||||||
|
|
||||||
#include <ldsodefs.h>
|
#include <ldsodefs.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdio.h> /* needed for malloc_stats */
|
#include <stdio.h> /* needed for malloc_stats */
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
@ -240,14 +235,6 @@ extern "C" {
|
|||||||
/* For va_arg, va_start, va_end. */
|
/* For va_arg, va_start, va_end. */
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
/* For writev and struct iovec. */
|
|
||||||
#include <sys/uio.h>
|
|
||||||
/* For syslog. */
|
|
||||||
#include <sys/syslog.h>
|
|
||||||
|
|
||||||
/* For various dynamic linking things. */
|
|
||||||
#include <dlfcn.h>
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Debugging:
|
Debugging:
|
||||||
@ -400,42 +387,12 @@ __malloc_assert (const char *assertion, const char *file, unsigned int line,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
USE_DL_PREFIX will prefix all public routines with the string 'dl'.
|
|
||||||
This is necessary when you only want to use this malloc in one part
|
|
||||||
of a program, using your regular system malloc elsewhere.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* #define USE_DL_PREFIX */
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Two-phase name translation.
|
Two-phase name translation.
|
||||||
All of the actual routines are given mangled names.
|
All of the actual routines are given mangled names.
|
||||||
When wrappers are used, they become the public callable versions.
|
When wrappers are used, they become the public callable versions.
|
||||||
When DL_PREFIX is used, the callable names are prefixed.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef USE_DL_PREFIX
|
|
||||||
#define public_cALLOc dlcalloc
|
|
||||||
#define public_fREe dlfree
|
|
||||||
#define public_cFREe dlcfree
|
|
||||||
#define public_mALLOc dlmalloc
|
|
||||||
#define public_mEMALIGn dlmemalign
|
|
||||||
#define public_rEALLOc dlrealloc
|
|
||||||
#define public_vALLOc dlvalloc
|
|
||||||
#define public_pVALLOc dlpvalloc
|
|
||||||
#define public_mALLINFo dlmallinfo
|
|
||||||
#define public_mALLOPt dlmallopt
|
|
||||||
#define public_mTRIm dlmalloc_trim
|
|
||||||
#define public_mSTATs dlmalloc_stats
|
|
||||||
#define public_mUSABLe dlmalloc_usable_size
|
|
||||||
#define public_iCALLOc dlindependent_calloc
|
|
||||||
#define public_iCOMALLOc dlindependent_comalloc
|
|
||||||
#define public_gET_STATe dlget_state
|
|
||||||
#define public_sET_STATe dlset_state
|
|
||||||
#else /* USE_DL_PREFIX */
|
|
||||||
|
|
||||||
/* Special defines for the GNU C library. */
|
/* Special defines for the GNU C library. */
|
||||||
#define public_cALLOc __libc_calloc
|
#define public_cALLOc __libc_calloc
|
||||||
#define public_fREe __libc_free
|
#define public_fREe __libc_free
|
||||||
@ -465,8 +422,6 @@ __malloc_assert (const char *assertion, const char *file, unsigned int line,
|
|||||||
void * __default_morecore (ptrdiff_t);
|
void * __default_morecore (ptrdiff_t);
|
||||||
void *(*__morecore)(ptrdiff_t) = __default_morecore;
|
void *(*__morecore)(ptrdiff_t) = __default_morecore;
|
||||||
|
|
||||||
#endif /* USE_DL_PREFIX */
|
|
||||||
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
@ -1112,15 +1067,8 @@ int __posix_memalign(void **, size_t, size_t);
|
|||||||
#define DEFAULT_MMAP_MAX (65536)
|
#define DEFAULT_MMAP_MAX (65536)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
} /* end of extern "C" */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
|
||||||
#ifndef BOUNDED_N
|
|
||||||
#define BOUNDED_N(ptr, sz) (ptr)
|
|
||||||
#endif
|
|
||||||
#ifndef RETURN_ADDRESS
|
#ifndef RETURN_ADDRESS
|
||||||
#define RETURN_ADDRESS(X_) (NULL)
|
#define RETURN_ADDRESS(X_) (NULL)
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user