Update.
authorUlrich Drepper <drepper@redhat.com>
Thu, 25 Nov 2004 06:25:42 +0000 (06:25 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 25 Nov 2004 06:25:42 +0000 (06:25 +0000)
* sysdeps/x86_64/Makefile [nptl]: Define CFLAGS-pthread_create.c.

nptl/ChangeLog
nptl/allocatestack.c
nptl/sysdeps/x86_64/Makefile

index 5957f61..efe1235 100644 (file)
@@ -1,5 +1,7 @@
 2004-11-24  Ulrich Drepper  <drepper@redhat.com>
 
+       * sysdeps/x86_64/Makefile [nptl]: Define CFLAGS-pthread_create.c.
+
        * Makefile (libpthread-routines): Add pthread_setschedprio.
        * Versions [libpthread, GLIBC_2.3.4]: Add pthread_setschedprio.
        * sysdeps/pthread/pthread.h: Declare pthread_setschedprio.
index 89a034e..8875209 100644 (file)
@@ -417,7 +417,7 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
       pd = get_cached_stack (&size, &mem);
       if (pd == NULL)
        {
-         /* To avoid aliasing effects on a larger scale then pages we
+         /* To avoid aliasing effects on a larger scale than pages we
             adjust the allocated stack size if necessary.  This way
             allocations directly following each other will not have
             aliasing problems.  */
index 24990a2..6e24a26 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
 # This file is part of the GNU C Library.
 
 # The GNU C Library is free software; you can redistribute it and/or
 ifeq ($(subdir),csu)
 gen-as-const-headers += tcb-offsets.sym
 endif
+
+ifeq ($(subdir),nptl)
+# P4s have problems with 4M aliasing.  We disturb the allocation of stacks
+# just enough so the subsequent allocations do not use stack address
+# (mod 4M) == 0.
+CFLAGS-pthread_create.c += -DMULTI_PAGE_ALIASING=65536
+endif