[roland/nptl-sparc] Move remaining SPARC code out of nptl/.
Commit Message
From: Roland McGrath <roland@hack.frob.com>
Date: Wed, 25 Jun 2014 10:07:57 -0700 (PDT)
>> From: Roland McGrath <roland@hack.frob.com>
>> Date: Tue, 24 Jun 2014 18:29:08 -0700 (PDT)
>>
>> > Let's see how close this gets to working for sparc.
>>
>> Looks good, please merge.
>
> Cool. Thanks for the testing.
>
> I've merged the roland/nptl-sparc branch in, but roland/nptl is still
> separate (just rebased). That branch affects everybody else too, and could
> well be breaking builds other than x86, arm, and sparc so I need the
> testing. Unfortunately I think that leaves us in the position where the
> trunk is broken for sparc and only the roland/nptl branch actually works.
> But I hope it won't be much longer before we can merge it all in.
Hmmm, something's strange.
Your nptl branch worked fine and showed now testsuite failures.
But if I put the following patch upon mainline (which has your
nptl-sparc branch integrated) the build starts working but I get
those pesky NPTL testsuite failures still.
[PATCH] Get rid of sparc specific NPTL internaltypes.h header.
* sysdeps/sparc/nptl/internaltypes.h: Delete.
* sysdeps/sparc/nptl/sparc-nptl.h: New file.
* sysdeps/sparc/nptl/pthread_barrier_destroy.c: Include it.
* sysdeps/sparc/nptl/pthread_barrier_init.c: Likewise.
* sysdeps/sparc/nptl/pthread_barrier_wait.c: Likewise.
* sysdeps/sparc/nptl/sem_init.c: Likewise.
* sysdeps/sparc/nptl/sem_post.c: Likewise.
* sysdeps/sparc/nptl/sem_timedwait.c: Likewise.
* sysdeps/sparc/nptl/sem_wait.c: Likewise.
* sysdeps/sparc/sparc32/nptl/pthread_barrier_wait.c: Likewise.
* sysdeps/sparc/sparc32/nptl/sem_post.c: Likewise.
* sysdeps/sparc/sparc32/nptl/sem_timedwait.c: Likewise.
* sysdeps/sparc/sparc32/nptl/sem_wait.c: Likewise.
---
sysdeps/sparc/nptl/internaltypes.h | 35 ----------------------------
sysdeps/sparc/nptl/pthread_barrier_destroy.c | 1 +
sysdeps/sparc/nptl/pthread_barrier_init.c | 1 +
sysdeps/sparc/nptl/pthread_barrier_wait.c | 1 +
sysdeps/sparc/nptl/sem_init.c | 2 +-
sysdeps/sparc/nptl/sem_post.c | 1 +
sysdeps/sparc/nptl/sem_timedwait.c | 2 +-
sysdeps/sparc/nptl/sem_wait.c | 2 +-
sysdeps/sparc/sparc32/pthread_barrier_wait.c | 1 +
sysdeps/sparc/sparc32/sem_post.c | 1 +
sysdeps/sparc/sparc32/sem_timedwait.c | 2 +-
sysdeps/sparc/sparc32/sem_wait.c | 2 +-
12 files changed, 11 insertions(+), 40 deletions(-)
delete mode 100644 sysdeps/sparc/nptl/internaltypes.h
Comments
> Hmmm, something's strange.
>
> Your nptl branch worked fine and showed now testsuite failures.
>
> But if I put the following patch upon mainline (which has your
> nptl-sparc branch integrated) the build starts working but I get
> those pesky NPTL testsuite failures still.
The patch as posted omits the new file, but I presume I know what it looks
like.
I don't have any speculations off hand other than the usual operator error.
Clean builds? Did you try comparing objdump -d libpthread.so from the
roland/nptl build with this build? I think they should be identical.
Thanks,
Roland
From: Roland McGrath <roland@hack.frob.com>
Date: Wed, 25 Jun 2014 16:27:53 -0700 (PDT)
> I don't have any speculations off hand other than the usual operator error.
> Clean builds? Did you try comparing objdump -d libpthread.so from the
> roland/nptl build with this build? I think they should be identical.
I always "rm -rf *; ../glibc/configure ...; make" in between changes, so
that's not it.
deleted file mode 100644
@@ -1,35 +0,0 @@
-#ifndef _INTERNALTYPES_H
-
-#include_next <internaltypes.h>
-
-union sparc_pthread_barrier
-{
- struct pthread_barrier b;
- struct sparc_pthread_barrier_s
- {
- unsigned int curr_event;
- int lock;
- unsigned int left;
- unsigned int init_count;
- unsigned char left_lock;
- unsigned char pshared;
- } s;
-};
-
-struct sparc_new_sem
-{
- unsigned int value;
- unsigned char lock;
- unsigned char private;
- unsigned char pad[2];
- unsigned long int nwaiters;
-};
-
-struct sparc_old_sem
-{
- unsigned int value;
- unsigned char lock;
- unsigned char private;
-};
-
-#endif
@@ -19,6 +19,7 @@
#include <errno.h>
#include "pthreadP.h"
#include <lowlevellock.h>
+#include <sparc-nptl.h>
int
pthread_barrier_destroy (barrier)
@@ -19,6 +19,7 @@
#include <errno.h>
#include "pthreadP.h"
#include <lowlevellock.h>
+#include <sparc-nptl.h>
int
pthread_barrier_init (barrier, attr, count)
@@ -20,6 +20,7 @@
#include <sysdep.h>
#include <lowlevellock.h>
#include <pthreadP.h>
+#include <sparc-nptl.h>
/* Wait on barrier. */
int
@@ -23,7 +23,7 @@
#include <shlib-compat.h>
#include "semaphoreP.h"
#include <kernel-features.h>
-
+#include <sparc-nptl.h>
int
__new_sem_init (sem, pshared, value)
@@ -24,6 +24,7 @@
#include <semaphore.h>
#include <shlib-compat.h>
+#include <sparc-nptl.h>
int
__new_sem_post (sem_t *sem)
@@ -25,7 +25,7 @@
#include <pthreadP.h>
#include <shlib-compat.h>
-
+#include <sparc-nptl.h>
extern void __sem_wait_cleanup (void *arg) attribute_hidden;
@@ -25,7 +25,7 @@
#include <pthreadP.h>
#include <shlib-compat.h>
-
+#include <sparc-nptl.h>
void
attribute_hidden
@@ -20,6 +20,7 @@
#include <sysdep.h>
#include <lowlevellock.h>
#include <pthreadP.h>
+#include <sparc-nptl.h>
/* Wait on barrier. */
int
@@ -24,6 +24,7 @@
#include <semaphore.h>
#include <shlib-compat.h>
+#include <sparc-nptl.h>
int
__new_sem_post (sem_t *sem)
@@ -25,7 +25,7 @@
#include <pthreadP.h>
#include <shlib-compat.h>
-
+#include <sparc-nptl.h>
extern void __sem_wait_cleanup (void *arg) attribute_hidden;
@@ -25,7 +25,7 @@
#include <pthreadP.h>
#include <shlib-compat.h>
-
+#include <sparc-nptl.h>
void
attribute_hidden