[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r6755 - in /fsf/trunk/libc: ./ nptl/ nptl/sysdeps/x86_64/ sysdeps/unix/sysv/linux/i386/bits/ sysdeps/unix/sysv/linux/x86_64/...
- To: commits@xxxxxxxxxx
- Subject: [commits] r6755 - in /fsf/trunk/libc: ./ nptl/ nptl/sysdeps/x86_64/ sysdeps/unix/sysv/linux/i386/bits/ sysdeps/unix/sysv/linux/x86_64/...
- From: eglibc@xxxxxxxxxx
- Date: Sat, 16 Aug 2008 07:07:23 -0000
Author: eglibc
Date: Sat Aug 16 00:07:22 2008
New Revision: 6755
Log:
Import glibc-mainline for 2008-08-16
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/allocatestack.c
fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Aug 16 00:07:22 2008
@@ -1,3 +1,8 @@
+2008-08-15 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/x86_64/bits/mman.h: Define MAP_STACK.
+ * sysdeps/unix/sysv/linux/i386/bits/mman.h: Likewise.
+
2008-08-14 Ulrich Drepper <drepper@xxxxxxxxxx>
* sysdeps/x86_64/memset.S: Reduce size of tables for PIC.
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sat Aug 16 00:07:22 2008
@@ -1,3 +1,12 @@
+2008-08-15 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ * sysdeps/x86_64/pthreaddef.h: Remove ARCH_MAP_FLAGS and
+ ARCH_RETRY_MMAP definitions.
+ * allocatestack.c: Remove definition of ARCH_MAP_FLAGS.
+ Define MAP_STACK when not defined.
+ (allocate_stack): Use MAP_STACK instead of ARCH_MAP_FLAGS. Remove
+ handling of ARCH_RETRY_MMAP.
+
2008-07-30 Ulrich Drepper <drepper@xxxxxxxxxx>
* tst-align2.c (f): Print message that f is reached.
Modified: fsf/trunk/libc/nptl/allocatestack.c
==============================================================================
--- fsf/trunk/libc/nptl/allocatestack.c (original)
+++ fsf/trunk/libc/nptl/allocatestack.c Sat Aug 16 00:07:22 2008
@@ -84,10 +84,10 @@
#endif
-/* Let the architecture add some flags to the mmap() call used to
- allocate stacks. */
-#ifndef ARCH_MAP_FLAGS
-# define ARCH_MAP_FLAGS 0
+/* Newer kernels have the MAP_STACK flag to indicate a mapping is used for
+ a stack. Use it when possible. */
+#ifndef MAP_STACK
+# define MAP_STACK 0
#endif
/* This yields the pointer that TLS support code calls the thread pointer. */
@@ -454,20 +454,14 @@
#endif
mem = mmap (NULL, size, prot,
- MAP_PRIVATE | MAP_ANONYMOUS | ARCH_MAP_FLAGS, -1, 0);
+ MAP_PRIVATE | MAP_ANONYMOUS | MAP_STACK, -1, 0);
if (__builtin_expect (mem == MAP_FAILED, 0))
{
-#ifdef ARCH_RETRY_MMAP
- mem = ARCH_RETRY_MMAP (size, prot);
- if (__builtin_expect (mem == MAP_FAILED, 0))
-#endif
- {
- if (errno == ENOMEM)
- errno = EAGAIN;
-
- return errno;
- }
+ if (errno == ENOMEM)
+ __set_errno (EAGAIN);
+
+ return errno;
}
/* SIZE is guaranteed to be greater than zero.
Modified: fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/x86_64/pthreaddef.h Sat Aug 16 00:07:22 2008
@@ -36,16 +36,6 @@
({ char *frame; asm ("movq %%rsp, %0" : "=r" (frame)); frame; })
-/* We prefer to have the stack allocated in the low 4GB since this
- allows faster context switches. */
-#define ARCH_MAP_FLAGS MAP_32BIT
-
-/* If it is not possible to allocate memory there retry without that
- flag. */
-#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. */
/* While there is no such syscall. */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/i386/bits/mman.h Sat Aug 16 00:07:22 2008
@@ -63,6 +63,7 @@
# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
+# define MAP_STACK 0x20000 /* Allocation is for a stack. */
#endif
/* Flags to `msync'. */
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/x86_64/bits/mman.h Sat Aug 16 00:07:22 2008
@@ -64,6 +64,7 @@
# define MAP_NORESERVE 0x04000 /* Don't check for reservations. */
# define MAP_POPULATE 0x08000 /* Populate (prefault) pagetables. */
# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */
+# define MAP_STACK 0x20000 /* Allocation is for a stack. */
#endif
/* Flags to `msync'. */