aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--malloc/malloc.c2
-rw-r--r--math/libm-test.inc5
3 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c3daa748ef..ede6492b5d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2001-02-14 Wolfram Gloger <wg@malloc.de>
+
+ * malloc/malloc.c (new_heap): When allocating large chunk aligned
+ to HEAP_MAX_SIZE, prefer one with lower address, to avoid `holes'
+ between the heaps.
+
2001-02-14 Ulrich Drepper <drepper@redhat.com>
* math/libm-test.inc (j0_test): Check whether sincos is available.
diff --git a/malloc/malloc.c b/malloc/malloc.c
index 311fd174a4..37249b0c7a 100644
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@ -2026,7 +2026,7 @@ new_heap(size) size_t size;
anyway). */
p1 = (char *)MMAP(0, HEAP_MAX_SIZE<<1, PROT_NONE, MAP_PRIVATE|MAP_NORESERVE);
if(p1 != MAP_FAILED) {
- p2 = (char *)(((unsigned long)p1 + HEAP_MAX_SIZE) & ~(HEAP_MAX_SIZE-1));
+ p2 = (char *)(((unsigned long)p1 + (HEAP_MAX_SIZE-1)) & ~(HEAP_MAX_SIZE-1));
ul = p2 - p1;
munmap(p1, ul);
munmap(p2 + HEAP_MAX_SIZE, HEAP_MAX_SIZE - ul);
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 89a21d37cc..867efcd493 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -2857,6 +2857,7 @@ j0_test (void)
static void
j1_test (void)
{
+ FLOAT s, c;
errno = 0;
FUNC (sincos) (0, &s, &c);
if (errno == ENOSYS)
@@ -2890,6 +2891,7 @@ j1_test (void)
static void
jn_test (void)
{
+ FLOAT s, c;
errno = 0;
FUNC (sincos) (0, &s, &c);
if (errno == ENOSYS)
@@ -4014,6 +4016,7 @@ trunc_test (void)
static void
y0_test (void)
{
+ FLOAT s, c;
errno = 0;
FUNC (sincos) (0, &s, &c);
if (errno == ENOSYS)
@@ -4047,6 +4050,7 @@ y0_test (void)
static void
y1_test (void)
{
+ FLOAT s, c;
errno = 0;
FUNC (sincos) (0, &s, &c);
if (errno == ENOSYS)
@@ -4079,6 +4083,7 @@ y1_test (void)
static void
yn_test (void)
{
+ FLOAT s, c;
errno = 0;
FUNC (sincos) (0, &s, &c);
if (errno == ENOSYS)