[roland/nptl-sparc] Move remaining SPARC code out of nptl/.

Message ID 20140625.153411.2157177663622013707.davem@davemloft.net
State Committed
Headers

Commit Message

David Miller June 25, 2014, 10:34 p.m. UTC
  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

Roland McGrath June 25, 2014, 11:27 p.m. UTC | #1
> 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
  
David Miller June 26, 2014, 12:14 a.m. UTC | #2
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.
  

Patch

diff --git a/sysdeps/sparc/nptl/internaltypes.h b/sysdeps/sparc/nptl/internaltypes.h
deleted file mode 100644
index e5c2740..0000000
--- a/sysdeps/sparc/nptl/internaltypes.h
+++ /dev/null
@@ -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
diff --git a/sysdeps/sparc/nptl/pthread_barrier_destroy.c b/sysdeps/sparc/nptl/pthread_barrier_destroy.c
index 2221a27..883a101 100644
--- a/sysdeps/sparc/nptl/pthread_barrier_destroy.c
+++ b/sysdeps/sparc/nptl/pthread_barrier_destroy.c
@@ -19,6 +19,7 @@ 
 #include <errno.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
+#include <sparc-nptl.h>
 
 int
 pthread_barrier_destroy (barrier)
diff --git a/sysdeps/sparc/nptl/pthread_barrier_init.c b/sysdeps/sparc/nptl/pthread_barrier_init.c
index 6af6863..c076386 100644
--- a/sysdeps/sparc/nptl/pthread_barrier_init.c
+++ b/sysdeps/sparc/nptl/pthread_barrier_init.c
@@ -19,6 +19,7 @@ 
 #include <errno.h>
 #include "pthreadP.h"
 #include <lowlevellock.h>
+#include <sparc-nptl.h>
 
 int
 pthread_barrier_init (barrier, attr, count)
diff --git a/sysdeps/sparc/nptl/pthread_barrier_wait.c b/sysdeps/sparc/nptl/pthread_barrier_wait.c
index ed5c1f7..525418c 100644
--- a/sysdeps/sparc/nptl/pthread_barrier_wait.c
+++ b/sysdeps/sparc/nptl/pthread_barrier_wait.c
@@ -20,6 +20,7 @@ 
 #include <sysdep.h>
 #include <lowlevellock.h>
 #include <pthreadP.h>
+#include <sparc-nptl.h>
 
 /* Wait on barrier.  */
 int
diff --git a/sysdeps/sparc/nptl/sem_init.c b/sysdeps/sparc/nptl/sem_init.c
index cbefdc4..d33881d 100644
--- a/sysdeps/sparc/nptl/sem_init.c
+++ b/sysdeps/sparc/nptl/sem_init.c
@@ -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)
diff --git a/sysdeps/sparc/nptl/sem_post.c b/sysdeps/sparc/nptl/sem_post.c
index d83b9d8..c2dbe0a 100644
--- a/sysdeps/sparc/nptl/sem_post.c
+++ b/sysdeps/sparc/nptl/sem_post.c
@@ -24,6 +24,7 @@ 
 #include <semaphore.h>
 
 #include <shlib-compat.h>
+#include <sparc-nptl.h>
 
 int
 __new_sem_post (sem_t *sem)
diff --git a/sysdeps/sparc/nptl/sem_timedwait.c b/sysdeps/sparc/nptl/sem_timedwait.c
index 0557e4e..3621f0b 100644
--- a/sysdeps/sparc/nptl/sem_timedwait.c
+++ b/sysdeps/sparc/nptl/sem_timedwait.c
@@ -25,7 +25,7 @@ 
 
 #include <pthreadP.h>
 #include <shlib-compat.h>
-
+#include <sparc-nptl.h>
 
 extern void __sem_wait_cleanup (void *arg) attribute_hidden;
 
diff --git a/sysdeps/sparc/nptl/sem_wait.c b/sysdeps/sparc/nptl/sem_wait.c
index cfa1ef3..ccf714d 100644
--- a/sysdeps/sparc/nptl/sem_wait.c
+++ b/sysdeps/sparc/nptl/sem_wait.c
@@ -25,7 +25,7 @@ 
 
 #include <pthreadP.h>
 #include <shlib-compat.h>
-
+#include <sparc-nptl.h>
 
 void
 attribute_hidden
diff --git a/sysdeps/sparc/sparc32/pthread_barrier_wait.c b/sysdeps/sparc/sparc32/pthread_barrier_wait.c
index 0fed908..318a47b 100644
--- a/sysdeps/sparc/sparc32/pthread_barrier_wait.c
+++ b/sysdeps/sparc/sparc32/pthread_barrier_wait.c
@@ -20,6 +20,7 @@ 
 #include <sysdep.h>
 #include <lowlevellock.h>
 #include <pthreadP.h>
+#include <sparc-nptl.h>
 
 /* Wait on barrier.  */
 int
diff --git a/sysdeps/sparc/sparc32/sem_post.c b/sysdeps/sparc/sparc32/sem_post.c
index d3846c0..40650a0 100644
--- a/sysdeps/sparc/sparc32/sem_post.c
+++ b/sysdeps/sparc/sparc32/sem_post.c
@@ -24,6 +24,7 @@ 
 #include <semaphore.h>
 
 #include <shlib-compat.h>
+#include <sparc-nptl.h>
 
 int
 __new_sem_post (sem_t *sem)
diff --git a/sysdeps/sparc/sparc32/sem_timedwait.c b/sysdeps/sparc/sparc32/sem_timedwait.c
index 5c48cb3..a10382a 100644
--- a/sysdeps/sparc/sparc32/sem_timedwait.c
+++ b/sysdeps/sparc/sparc32/sem_timedwait.c
@@ -25,7 +25,7 @@ 
 
 #include <pthreadP.h>
 #include <shlib-compat.h>
-
+#include <sparc-nptl.h>
 
 extern void __sem_wait_cleanup (void *arg) attribute_hidden;
 
diff --git a/sysdeps/sparc/sparc32/sem_wait.c b/sysdeps/sparc/sparc32/sem_wait.c
index 8c072fe..81dcd09 100644
--- a/sysdeps/sparc/sparc32/sem_wait.c
+++ b/sysdeps/sparc/sparc32/sem_wait.c
@@ -25,7 +25,7 @@ 
 
 #include <pthreadP.h>
 #include <shlib-compat.h>
-
+#include <sparc-nptl.h>
 
 void
 attribute_hidden