about summary refs log tree commit diff
path: root/nptl/allocatestack.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-04 20:55:08 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-04 20:55:08 +0000
commit518b53086ca3c10b3587e1162602c8f2aacccbde (patch)
tree3273fb920f07195dd01a64ea92627530da2ee806 /nptl/allocatestack.c
parente2b80a5802e58d8922faf4b56d275897cf0f6f18 (diff)
downloadglibc-518b53086ca3c10b3587e1162602c8f2aacccbde.tar.gz
glibc-518b53086ca3c10b3587e1162602c8f2aacccbde.tar.xz
glibc-518b53086ca3c10b3587e1162602c8f2aacccbde.zip
Update.
	* pthread_create.c: Define __pthread_keys using nocommon
	attribute, not by placing it explicitly in bss.
	Remove DEFINE_DEALLOC definition.  Not needed anymore.

	* allocatestack.c: Define ARCH_MAP_FLAGS if not already defined.
	Use it in mmap call to allocate stacks.

	* sysdeps/pthread/createthread.c (create_thread): Fix comment.
Diffstat (limited to 'nptl/allocatestack.c')
-rw-r--r--nptl/allocatestack.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 94d05b2721..b0d7ea641a 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -52,6 +52,11 @@
 #endif
 
 
+/* Let the architecture add some flags to the mmap() call used to
+   allocate stacks.  */
+#ifndef ARCH_MAP_FLAGS
+# define ARCH_MAP_FLAGS 0
+#endif
 
 
 /* Cache handling for not-yet free stacks.  */
@@ -303,6 +308,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
       size_t reqsize;
       void *mem;
 
+#undef COLORING_INCREMENT
 #if COLORING_INCREMENT != 0
       /* Add one more page for stack coloring.  Don't to it for stacks
 	 with 16 times pagesize or larger.  This might just cause
@@ -330,7 +336,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
       if (pd == NULL)
 	{
 	  mem = mmap (NULL, size, PROT_READ | PROT_WRITE | PROT_EXEC,
-		      MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+		      MAP_PRIVATE | MAP_ANONYMOUS | ARCH_MAP_FLAGS, -1, 0);
 
 	  if (__builtin_expect (mem == MAP_FAILED, 0))
 	    return errno;