summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos O'Donell <carlos@systemhalted.org>2014-09-07 16:18:06 -0400
committerCarlos O'Donell <carlos@systemhalted.org>2014-09-07 22:08:36 -0400
commitd83f0734e1522a5e5ea2494565f4dcd25a86d6a0 (patch)
tree9bda9b95797d592780251903ec6a5a5917a63f6e
parent21c83793a223666b8cfe438d81615941896b355c (diff)
HPPA: Transition to new non-addon NPTL.
Merge roland/nptl-hppa to master, update and test for hppa-linux-gnu. This commit squashes and commits the work done by Roland McGrath on roland/nptl-hppa to migrate hppa to the new non-addon NPTL. Some additional tweaks were required for tcb-offsets.sym to work correctly along with clone.S (unique to hppa).
-rw-r--r--ChangeLog38
-rw-r--r--sysdeps/hppa/nptl/bits/pthreadtypes.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h)0
-rw-r--r--sysdeps/hppa/nptl/bits/semaphore.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h)0
-rw-r--r--sysdeps/hppa/nptl/tcb-offsets.sym2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/arch-fork.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/fork.c)5
-rw-r--r--sysdeps/unix/sysv/linux/hppa/clone.S3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/lowlevellock.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/nptl/clone.S3
-rw-r--r--sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c20
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pt-vfork.S (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread.h)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthreadP.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthreadP.h)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_broadcast.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_destroy.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_init.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_signal.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_timedwait.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c (renamed from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_wait.c)0
-rw-r--r--sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h (renamed from sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h)0
19 files changed, 42 insertions, 29 deletions
diff --git a/ChangeLog b/ChangeLog
index 8dcc334930..565280cc91 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,41 @@
+2014-09-07 Roland McGrath <roland@hack.frob.com>
+ Carlos O'Donell <carlos@systemhalted.org>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c: File removed.
+ * sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/lowlevellock.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pt-vfork.S: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread.h: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthreadP.h: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthreadP.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_broadcast.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_destroy.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_init.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_signal.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_timedwait.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_wait.c: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h: Moved ...
+ * sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h: Moved ...
+ * sysdeps/hppa/nptl/bits/pthreadtypes.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h: Moved ...
+ * sysdeps/hppa/nptl/bits/semaphore.h: ... here.
+ * sysdeps/unix/sysv/linux/hppa/clone.S: Include <tcb-offsets.h>.
+ Deconditionalize the code that was previously under [RESET_PID].
+ * sysdeps/unix/sysv/linux/hppa/nptl/clone.S: File removed.
+ * sysdeps/unix/sysv/linux/hppa/arch-fork.h: New file.
+ * sysdeps/unix/sysv/linux/hppa/nptl/fork.c: File removed.
+ * sysdeps/hppa/nptl/tcb-offsets.sym: Include pthread.h and don't
+ include sysdep.h.
+
2014-09-08 Allan McRae <allan@archlinux.org>
* version.h (RELEASE): Set to "development".
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h b/sysdeps/hppa/nptl/bits/pthreadtypes.h
index d6fdc2c44d..d6fdc2c44d 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h
+++ b/sysdeps/hppa/nptl/bits/pthreadtypes.h
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h b/sysdeps/hppa/nptl/bits/semaphore.h
index 9d68d44e31..9d68d44e31 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h
+++ b/sysdeps/hppa/nptl/bits/semaphore.h
diff --git a/sysdeps/hppa/nptl/tcb-offsets.sym b/sysdeps/hppa/nptl/tcb-offsets.sym
index f3cc82621a..c2f326ee3d 100644
--- a/sysdeps/hppa/nptl/tcb-offsets.sym
+++ b/sysdeps/hppa/nptl/tcb-offsets.sym
@@ -1,4 +1,4 @@
-#include <sysdep.h>
+#include <pthread.h>
#include <tls.h>
RESULT offsetof (struct pthread, result)
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/fork.c b/sysdeps/unix/sysv/linux/hppa/arch-fork.h
index 3c21f5aef9..f4241fa49d 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/fork.c
+++ b/sysdeps/unix/sysv/linux/hppa/arch-fork.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
+/* ARCH_FORK definition for Linux fork implementation. HPPA version.
+ Copyright (C) 2005-2014 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
@@ -29,5 +30,3 @@
INLINE_SYSCALL (clone, 5, \
CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, \
NULL, NULL, NULL, &THREAD_SELF->tid)
-
-#include <nptl/sysdeps/unix/sysv/linux/fork.c>
diff --git a/sysdeps/unix/sysv/linux/hppa/clone.S b/sysdeps/unix/sysv/linux/hppa/clone.S
index 1a3c6c800d..ac8c468d65 100644
--- a/sysdeps/unix/sysv/linux/hppa/clone.S
+++ b/sysdeps/unix/sysv/linux/hppa/clone.S
@@ -24,6 +24,7 @@
#include <sysdep.h>
#define _ERRNO_H 1
#include <bits/errno.h>
+#include <tcb-offsets.h>
/* Non-thread code calls __clone with the following parameters:
int clone(int (*fn)(void *arg),
@@ -131,7 +132,6 @@ ENTRY(__clone)
ldwm -64(%sp), %r4
.LthreadStart:
-#ifdef RESET_PID
# define CLONE_VM_BIT 23 /* 0x00000100 */
# define CLONE_THREAD_BIT 15 /* 0x00010000 */
/* Load original clone flags.
@@ -150,7 +150,6 @@ ENTRY(__clone)
stw %ret0, PID_THREAD_OFFSET(%r26)
stw %ret0, TID_THREAD_OFFSET(%r26)
1:
-#endif
/* Load up the arguments. */
ldw -60(%sp), %arg0
ldw -64(%sp), %r22
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h b/sysdeps/unix/sysv/linux/hppa/lowlevellock.h
index fb61d0c6d0..fb61d0c6d0 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h
+++ b/sysdeps/unix/sysv/linux/hppa/lowlevellock.h
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/clone.S b/sysdeps/unix/sysv/linux/hppa/nptl/clone.S
deleted file mode 100644
index 23750b3f88..0000000000
--- a/sysdeps/unix/sysv/linux/hppa/nptl/clone.S
+++ /dev/null
@@ -1,3 +0,0 @@
-#define RESET_PID
-#include <tcb-offsets.h>
-#include "../clone.S"
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c b/sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c
deleted file mode 100644
index 8f50fed615..0000000000
--- a/sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* low level locking for pthread library. Generic futex-using version.
- Copyright (C) 2003-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Paul Mackerras <paulus@au.ibm.com>, 2003.
-
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include "lowlevellock.c"
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S b/sysdeps/unix/sysv/linux/hppa/pt-vfork.S
index 4bf14ef949..4bf14ef949 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S
+++ b/sysdeps/unix/sysv/linux/hppa/pt-vfork.S
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread.h b/sysdeps/unix/sysv/linux/hppa/pthread.h
index 8fbc1a41e6..8fbc1a41e6 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread.h
+++ b/sysdeps/unix/sysv/linux/hppa/pthread.h
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthreadP.h b/sysdeps/unix/sysv/linux/hppa/pthreadP.h
index 744b5b090b..744b5b090b 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthreadP.h
+++ b/sysdeps/unix/sysv/linux/hppa/pthreadP.h
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_broadcast.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c
index 23526c658c..23526c658c 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_broadcast.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_destroy.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c
index b90355c34d..b90355c34d 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_destroy.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_init.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c
index 38a282a38a..38a282a38a 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_init.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_signal.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c
index 2f6e8e1b89..2f6e8e1b89 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_signal.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_timedwait.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c
index e53136bfe3..e53136bfe3 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_timedwait.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_wait.c b/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c
index c53bc98325..c53bc98325 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_wait.c
+++ b/sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c
diff --git a/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h
index 6f1c9d745b..6f1c9d745b 100644
--- a/sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h
+++ b/sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h