1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
1999-09-24  Andreas Jaeger  <aj@suse.de>

	* stdio-common/tst-printf.c (main): Add a testcase for large
	precision.  Reported by Tymm Twillman <tymm@coe.missouri.edu>.

1999-09-24  Andreas Schwab  <schwab@suse.de>

	* math/bits/mathcalls.h: Fix last change.  Also declare __finite.

1999-09-24  Andreas Jaeger  <aj@suse.de>

	* intl/finddomain.c (_nl_find_domain): Fix memory leak: Free
	normalized_codeset.  Reported by Belicky Zsolt <zsolt@prolan.hu>.

1999-09-23  Mark Kettenis  <kettenis@gnu.org>

	* sysdeps/unix/sysv/linux/Makefile [malloc] (CFLAGS-malloc.c): New
	variable.  Define MORECORE_CLEARS to 2.

	* malloc/malloc.c (cALLOc): Correctly handle systems where sbrk
	doesn't clear the contents of memory that is reallocated after
	decrementing the break value first.  Update comment about
	MORECORE_CLEARS, explaining the meaning of the values it can be
	set to.
This commit is contained in:
Ulrich Drepper
1999-09-25 06:37:46 +00:00
parent 5892e30537
commit a164874646
6 changed files with 62 additions and 9 deletions

View File

@ -226,8 +226,12 @@
MORECORE_FAILURE (default: -1)
The value returned upon failure of MORECORE.
MORECORE_CLEARS (default 1)
True (1) if the routine mapped to MORECORE zeroes out memory (which
holds for sbrk).
The degree to which the routine mapped to MORECORE zeroes out
memory: never (0), only for newly allocated space (1) or always
(2). The distinction between (1) and (2) is necessary because on
some systems, if the application first decrements and then
increments the break value, the contents of the reallocated space
are unspecified.
DEFAULT_TRIM_THRESHOLD
DEFAULT_TOP_PAD
DEFAULT_MMAP_THRESHOLD
@ -861,11 +865,15 @@ Void_t *(*__morecore)() = __default_morecore;
#endif
static size_t __libc_pagesize;
#define MORECORE (*__morecore)
#define MORECORE_FAILURE 0
#ifndef MORECORE_CLEARS
#define MORECORE_CLEARS 1
#endif
static size_t __libc_pagesize;
#define mmap __mmap
#define munmap __munmap
#define mremap __mremap
@ -3596,10 +3604,16 @@ Void_t* cALLOc(n, elem_size) size_t n; size_t elem_size;
if(!ar_ptr)
return 0;
/* check if expand_top called, in which case don't need to clear */
/* Check if expand_top called, in which case there may be
no need to clear. */
#if MORECORE_CLEARS
oldtop = top(ar_ptr);
oldtopsize = chunksize(top(ar_ptr));
#if MORECORE_CLEARS < 2
/* Only newly allocated memory is guaranteed to be cleared. */
if (oldtopsize < sbrk_base + max_sbrked_mem - (char *)oldtop)
oldtopsize = (sbrk_base + max_sbrked_mem - (char *)oldtop);
#endif
#endif
p = chunk_alloc (ar_ptr, sz);