summaryrefslogtreecommitdiff
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
parent4f088329f3418ca19e3da0d5571433ea3b172616 (diff)
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.
-rw-r--r--ChangeLog9
-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
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S1
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S1
11 files changed, 42 insertions, 69 deletions
diff --git a/ChangeLog b/ChangeLog
index 72cdcf2514..9ef492c490 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+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.
+
2003-02-02 Jakub Jelinek <jakub@redhat.com>
* elf/tls-macros.h [sparc] (TLS_LD, TLS_GD): Add "cc" clobbers.
diff --git a/nptl/Banner b/nptl/Banner
index 5dc564b124..f87ad4d0fa 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 6e14988ad4..a15da3dbef 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 2db2f35ce2..0000000000
--- 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 033c0783ea..2b33243cee 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 0000000000..493a7ec49f
--- /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
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
index 6a0a82c703..70dc064425 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/fe_nomask.c
@@ -22,6 +22,7 @@
#include <sysdep.h>
#include <sys/syscall.h>
#include <sys/prctl.h>
+#include "kernel-features.h"
const fenv_t *
__fe_nomask_env (void)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
index ddbf40b8d9..0ebf2d8727 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/getcontext.S
@@ -18,6 +18,7 @@
02111-1307 USA. */
#include <sysdep.h>
+#include "kernel-features.h"
#define __ASSEMBLY__
#include <asm/ptrace.h>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
index 08ce90177b..8487a3f522 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/makecontext.S
@@ -18,6 +18,7 @@
02111-1307 USA. */
#include <sysdep.h>
+#include "kernel-features.h"
#define __ASSEMBLY__
#include <asm/ptrace.h>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
index fa37abd6da..3e25a8e184 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/setcontext.S
@@ -18,6 +18,7 @@
02111-1307 USA. */
#include <sysdep.h>
+#include "kernel-features.h"
#define __ASSEMBLY__
#include <asm/ptrace.h>
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
index b1bcd44af1..653811bda2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/swapcontext.S
@@ -18,6 +18,7 @@
02111-1307 USA. */
#include <sysdep.h>
+#include "kernel-features.h"
#define __ASSEMBLY__
#include <asm/ptrace.h>