aboutsummaryrefslogtreecommitdiff
path: root/nptl
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-02-03 21:57:42 +0000
committerUlrich Drepper <drepper@redhat.com>2003-02-03 21:57:42 +0000
commit3e4fc359f4fab31607703b311857c58f08ebf67c (patch)
treeb0b004b870040cce25190a6f833a02f2580884af /nptl
parent4f088329f3418ca19e3da0d5571433ea3b172616 (diff)
downloadglibc-3e4fc359f4fab31607703b311857c58f08ebf67c.zip
glibc-3e4fc359f4fab31607703b311857c58f08ebf67c.tar.gz
glibc-3e4fc359f4fab31607703b311857c58f08ebf67c.tar.bz2
Update.
2003-01-31 Steven Munroe <sjmunroe@us.ibm.com> * sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c: Include kernel-features.h * sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S: Likewise.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/Banner2
-rw-r--r--nptl/ChangeLog2
-rw-r--r--nptl/DESIGN-sem-old.txt67
-rw-r--r--nptl/pthread_create.c3
-rw-r--r--nptl/sysdeps/i386/i686/Makefile23
5 files changed, 28 insertions, 69 deletions
diff --git a/nptl/Banner b/nptl/Banner
index 5dc564b..f87ad4d 100644
--- a/nptl/Banner
+++ b/nptl/Banner
@@ -1 +1 @@
-NPTL 0.18 by Ulrich Drepper
+NPTL 0.19 by Ulrich Drepper
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index 6e14988..a15da3d 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,8 +1,10 @@
2003-02-03 Ulrich Drepper <drepper@redhat.com>
+ * pthread_create.c: Include <atomic.h>.
* allocatestack.c (allocate_stack): Implement coloring of the
allocated stack memory. Rename pagesize to pagesize_m1. It's the
size minus one. Adjust users.
+ * sysdeps/i386/i686/Makefile: New file.
2003-02-02 Ulrich Drepper <drepper@redhat.com>
diff --git a/nptl/DESIGN-sem-old.txt b/nptl/DESIGN-sem-old.txt
deleted file mode 100644
index 2db2f35..0000000
--- a/nptl/DESIGN-sem-old.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-Semaphores pseudocode
-==============================
-
- int sem_wait(sem_t * sem);
- int sem_trywait(sem_t * sem);
- int sem_post(sem_t * sem);
- int sem_getvalue(sem_t * sem, int * sval);
-
-struct sem_t {
-
- unsigned int lock:
- - internal mutex
-
- unsigned int count;
- - current semaphore count, also used as a futex
-
- unsigned int waiters;
- - number of threads queued in sem_wait().
-}
-
-sem_wait(sem_t *sem)
-{
- lll_lock(sem->lock);
- for (;;) {
-
- if (sem->count)
- break;
-
- sem->waiters++;
- lll_unlock(sem->lock);
-
- futex_wait(&sem->count, 0)
-
- lll_lock(sem->lock);
- sem->waiters--;
- }
- sem->count--;
- lll_unlock(sem->lock);
-}
-
-sem_post(sem_t *sem)
-{
- lll_lock(sem->lock);
- sem->count++;
- if (sem->waiters)
- futex_wake(&sem->count, sem->count);
- lll_unlock(sem->lock);
-}
-
-sem_trywait(sem_t *sem)
-{
- lll_lock(sem->lock);
- if (sem->count) {
- sem->count--;
- lll_unlock(sem->lock);
- return 0;
- } else {
- lll_unlock(sem->lock);
- return -EAGAIN;
- }
-}
-
-sem_getvalue(sem_t *sem, int *sval)
-{
- *sval = sem->count;
- read_barrier();
-}
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c
index 033c078..2b33243 100644
--- a/nptl/pthread_create.c
+++ b/nptl/pthread_create.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -24,6 +24,7 @@
#include "pthreadP.h"
#include <hp-timing.h>
#include <ldsodefs.h>
+#include <atomic.h>
#include <shlib-compat.h>
diff --git a/nptl/sysdeps/i386/i686/Makefile b/nptl/sysdeps/i386/i686/Makefile
new file mode 100644
index 0000000..493a7ec
--- /dev/null
+++ b/nptl/sysdeps/i386/i686/Makefile
@@ -0,0 +1,23 @@
+# Copyright (C) 2003 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+# Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, write to the Free
+# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+# 02111-1307 USA.
+
+ifeq ($(subdir),nptl)
+# For P4 processors we color the stack in 128 bit steps.
+CFLAGS-pthread_create.c += -DCOLORING_INCREMENT=128
+endif