]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
HPPA: Transition to new non-addon NPTL.
authorCarlos O'Donell <carlos@systemhalted.org>
Sun, 7 Sep 2014 20:18:06 +0000 (16:18 -0400)
committerCarlos O'Donell <carlos@systemhalted.org>
Mon, 8 Sep 2014 02:08:36 +0000 (22:08 -0400)
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).

19 files changed:
ChangeLog
sysdeps/hppa/nptl/bits/pthreadtypes.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/bits/pthreadtypes.h with 100% similarity]
sysdeps/hppa/nptl/bits/semaphore.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/bits/semaphore.h with 100% similarity]
sysdeps/hppa/nptl/tcb-offsets.sym
sysdeps/unix/sysv/linux/hppa/arch-fork.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/fork.c with 89% similarity]
sysdeps/unix/sysv/linux/hppa/clone.S
sysdeps/unix/sysv/linux/hppa/lowlevellock.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h with 100% similarity]
sysdeps/unix/sysv/linux/hppa/nptl/clone.S [deleted file]
sysdeps/unix/sysv/linux/hppa/nptl/libc-lowlevellock.c [deleted file]
sysdeps/unix/sysv/linux/hppa/pt-vfork.S [moved from sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread.h with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthreadP.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthreadP.h with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_broadcast.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_broadcast.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_destroy.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_destroy.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_init.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_init.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_signal.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_signal.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_timedwait.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_timedwait.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/pthread_cond_wait.c [moved from sysdeps/unix/sysv/linux/hppa/nptl/pthread_cond_wait.c with 100% similarity]
sysdeps/unix/sysv/linux/hppa/sysdep-cancel.h [moved from sysdeps/unix/sysv/linux/hppa/nptl/sysdep-cancel.h with 100% similarity]

index 8dcc334930e43483cd8750a4c3ac979eb883d961..565280cc91fd5734b850b40aeaceef39c663480d 100644 (file)
--- 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".
index f3cc82621ac60f725952e3e52cc79c7b30b4edc9..c2f326ee3d498e80708d0c032fd6d157b0674901 100644 (file)
@@ -1,4 +1,4 @@
-#include <sysdep.h>
+#include <pthread.h>
 #include <tls.h>
 
 RESULT                 offsetof (struct pthread, result)
similarity index 89%
rename from sysdeps/unix/sysv/linux/hppa/nptl/fork.c
rename to sysdeps/unix/sysv/linux/hppa/arch-fork.h
index 3c21f5aef9ff26d2d5803a7db786923fd6782a90..f4241fa49df216d27a2867ab98548a483f45459e 100644 (file)
@@ -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>
index 1a3c6c800d5b421d3b2cb0ae392432b9f3a1325b..ac8c468d655b28cc33a98419cfa3ee72998eb355 100644 (file)
@@ -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/clone.S b/sysdeps/unix/sysv/linux/hppa/nptl/clone.S
deleted file mode 100644 (file)
index 23750b3..0000000
+++ /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 (file)
index 8f50fed..0000000
+++ /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"