This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: [PATCH roland/nptl-sparc] Move remaining SPARC code out of nptl/.
- From: David Miller <davem at davemloft dot net>
- To: roland at hack dot frob dot com
- Cc: libc-alpha at sourceware dot org
- Date: Wed, 25 Jun 2014 15:34:11 -0700 (PDT)
- Subject: Re: [PATCH roland/nptl-sparc] Move remaining SPARC code out of nptl/.
- Authentication-results: sourceware.org; auth=none
- References: <20140625012908 dot 949DF2C3A22 at topped-with-meat dot com> <20140624 dot 221356 dot 999914990203036572 dot davem at davemloft dot net> <20140625170758 dot 060D12C39F4 at topped-with-meat dot com>
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
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
--
1.8.1.2