aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-12-14 16:33:44 +0000
committerUlrich Drepper <drepper@redhat.com>2007-12-14 16:33:44 +0000
commitb8cca206e299902329df298a59b319911af64b29 (patch)
treea017ccae10442bc63ffdd75db0dc97e3b6bd4886
parentbc3e1c127392da88d0c8bf2ae728147982a3d1bc (diff)
downloadglibc-b8cca206e299902329df298a59b319911af64b29.tar
glibc-b8cca206e299902329df298a59b319911af64b29.tar.gz
glibc-b8cca206e299902329df298a59b319911af64b29.tar.bz2
glibc-b8cca206e299902329df298a59b319911af64b29.zip
* sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additional
parameter. Passed it as permission to mmap. * allocatestack.c (allocate_stack): Pass prot as second parameter to ARCH_RETRY_MMAP.
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/allocatestack.c2
-rw-r--r--nptl/sysdeps/x86_64/pthreaddef.h7
3 files changed, 11 insertions, 5 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 3651d2ea5b..ec834340dc 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-14 Ulrich Drepper <drepper@redhat.com>
+
+ * sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additional
+ parameter. Passed it as permission to mmap.
+ * allocatestack.c (allocate_stack): Pass prot as second parameter
+ to ARCH_RETRY_MMAP.
+
2007-12-12 Ulrich Drepper <drepper@redhat.com>
* tst-basic7.c: Allocate memory for the stack.
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index f75599c668..66128e455b 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -459,7 +459,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
if (__builtin_expect (mem == MAP_FAILED, 0))
{
#ifdef ARCH_RETRY_MMAP
- mem = ARCH_RETRY_MMAP (size);
+ mem = ARCH_RETRY_MMAP (size, prot);
if (__builtin_expect (mem == MAP_FAILED, 0))
#endif
{
diff --git a/nptl/sysdeps/x86_64/pthreaddef.h b/nptl/sysdeps/x86_64/pthreaddef.h
index 27896a445c..0195bc928f 100644
--- a/nptl/sysdeps/x86_64/pthreaddef.h
+++ b/nptl/sysdeps/x86_64/pthreaddef.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -42,9 +42,8 @@
/* If it is not possible to allocate memory there retry without that
flag. */
-#define ARCH_RETRY_MMAP(size) \
- mmap (NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC, \
- MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)
+#define ARCH_RETRY_MMAP(size, prot) \
+ mmap (NULL, size, prot, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0)
/* XXX Until we have a better place keep the definitions here. */