]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
* sysdeps/x86_64/pthreaddef.h (ARCH_RETRY_MMAP): Take additional
authorUlrich Drepper <drepper@redhat.com>
Fri, 14 Dec 2007 16:33:44 +0000 (16:33 +0000)
committerUlrich Drepper <drepper@redhat.com>
Fri, 14 Dec 2007 16:33:44 +0000 (16:33 +0000)
parameter.  Passed it as permission to mmap.
* allocatestack.c (allocate_stack): Pass prot as second parameter
to ARCH_RETRY_MMAP.

nptl/ChangeLog
nptl/allocatestack.c
nptl/sysdeps/x86_64/pthreaddef.h

index 3651d2ea5b4e4e2c68aa0aa79de6248e5e5c9173..ec834340dcc246a928571deb38c302ae6d5874ae 100644 (file)
@@ -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.
index f75599c6689ac2cc43b7e807ca904b4b597d9f40..66128e455be87fcbf79e39985cfc7054fa670d61 100644 (file)
@@ -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
                {
index 27896a445c348fab0e26de8fcbf64db40d576184..0195bc928f83a5c73f5811fbc34229750dc668ea 100644 (file)
@@ -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.  */