This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
[PATCH roland/nptl-sparc] Move remaining SPARC code out of nptl/.
- From: Roland McGrath <roland at hack dot frob dot com>
- To: "GNU C. Library" <libc-alpha at sourceware dot org>
- Date: Wed, 18 Jun 2014 15:36:08 -0700 (PDT)
- Subject: [PATCH roland/nptl-sparc] Move remaining SPARC code out of nptl/.
- Authentication-results: sourceware.org; auth=none
Wholly untested. It should not change anything. A lot of the individual
files contained no particular Linuxisms, so I moved them to OS-independent
(but CPU-dependent) sysdeps/ directories.
OK?
Thanks,
Roland
2014-06-18 Roland McGrath <roland@hack.frob.com>
* sysdeps/unix/sysv/linux/sparc/Makefile [$(subdir) = nptl]
(libpthread-routines): Add sysdep.
* nptl/sysdeps/unix/sysv/linux/sparc/Makefile: File removed.
* sysdeps/unix/sysv/linux/sparc/Versions
(libpthread: GLIBC_2.3.3): New version set.
* nptl/sysdeps/unix/sysv/linux/sparc/Versions: File removed.
* nptl/sysdeps/unix/sysv/linux/sparc/aio_cancel.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/aio_cancel.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/internaltypes.h: Moved ...
* sysdeps/sparc/nptl/internaltypes.h: ... here. Use #include_next.
* nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c:
Moved ...
* sysdeps/sparc/nptl/pthread_barrier_destroy.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c: Moved ...
* sysdeps/sparc/nptl/pthread_barrier_init.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_wait.c: Moved ...
* sysdeps/sparc/nptl/pthread_barrier_wait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sem_init.c: Moved ...
* sysdeps/sparc/nptl/sem_init.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c: Moved ...
* sysdeps/sparc/nptl/sem_post.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sem_timedwait.c: Moved ...
* sysdeps/sparc/nptl/sem_timedwait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sem_wait.c: Moved ...
* sysdeps/sparc/nptl/sem_wait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h: Moved ...
* sysdeps/unix/sysv/linux/sparc/lowlevellock.h: ... here.
* sysdeps/sparc/sparc32/sparcv9/Makefile [$(subdir) = nptl]
(libpthread-routines): Add cpu_relax.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile:
File removed.
* sysdeps/unix/sysv/linux/sparc/sparc64/Versions
(librt: GLIBC_2.3.3): New version set.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions: File removed.
* sysdeps/sparc/sparc64/nptl/Makefile: New file.
* sysdeps/unix/sysv/linux/sparc/sparc64/Makefile [$(subdir) = nptl]
(CFLAGS-pause.c, CFLAGS-sigsuspend.c): New variables.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile: File removed.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c: Moved ...
* sysdeps/sparc/sparc32/nptl/lowlevellock.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c:
Moved ...
* sysdeps/sparc/sparc32/nptl/pthread_barrier_wait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c: Moved ...
* sysdeps/sparc/sparc32/nptl/sem_post.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c: Moved ...
* sysdeps/sparc/sparc32/nptl/sem_timedwait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c: Moved ...
* sysdeps/sparc/sparc32/nptl/sem_trywait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c: Moved ...
* sysdeps/sparc/sparc32/nptl/sem_wait.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/cpu_relax.S: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/pthread_barrier_wait.c: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/sem_post.c: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/sem_timedwait.c: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/sem_trywait.c: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c:
Moved ...
* sysdeps/sparc/sparc32/sparcv9/nptl/sem_wait.c: ... here.
Update #include.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S: Moved ...
* sysdeps/sparc/sparc64/nptl/cpu_relax.S: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c: ... here.
* nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c: Moved ...
* sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c: ... here.
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/Makefile b/nptl/sysdeps/unix/sysv/linux/sparc/Makefile
deleted file mode 100644
index e98c9bd..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine
-libpthread-routines += sysdep
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/Versions b/nptl/sysdeps/unix/sysv/linux/sparc/Versions
deleted file mode 100644
index d102772..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/Versions
+++ /dev/null
@@ -1,6 +0,0 @@
-libpthread {
- GLIBC_2.3.3 {
- # Changed PTHREAD_STACK_MIN.
- pthread_attr_setstack; pthread_attr_setstacksize;
- }
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile
deleted file mode 100644
index f7acc01..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/Makefile
+++ /dev/null
@@ -1 +0,0 @@
-libpthread-routines += cpu_relax
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S
deleted file mode 100644
index 4ac4d14..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/cpu_relax.S
+++ /dev/null
@@ -1 +0,0 @@
-#include <sparc64/cpu_relax.S>
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c
deleted file mode 100644
index 2d32e58..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/pthread_barrier_wait.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../pthread_barrier_wait.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c
deleted file mode 100644
index 73d7c56..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_post.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../sem_post.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c
deleted file mode 100644
index 03945b7..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_timedwait.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../sem_timedwait.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c
deleted file mode 100644
index aae46f7..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_trywait.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../../sem_trywait.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c
deleted file mode 100644
index a5dbc5a..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sparcv9/sem_wait.c
+++ /dev/null
@@ -1 +0,0 @@
-#include "../../sem_wait.c"
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
deleted file mode 100644
index 656d2e0..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-libpthread-routines += cpu_relax
-
-ifeq ($(subdir),nptl)
-CFLAGS-pause.c += -fexceptions
-CFLAGS-sigsuspend.c += -fexceptions
-endif
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
deleted file mode 100644
index 3b111dd..0000000
--- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
+++ /dev/null
@@ -1,7 +0,0 @@
-librt {
- GLIBC_2.3.3 {
- # Changed timer_t.
- timer_create; timer_delete; timer_getoverrun; timer_gettime;
- timer_settime;
- }
-}
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/internaltypes.h b/sysdeps/sparc/nptl/internaltypes.h
similarity index 94%
rename from nptl/sysdeps/unix/sysv/linux/sparc/internaltypes.h
rename to sysdeps/sparc/nptl/internaltypes.h
index 4f400a3..e5c2740 100644
--- a/nptl/sysdeps/unix/sysv/linux/sparc/internaltypes.h
+++ b/sysdeps/sparc/nptl/internaltypes.h
@@ -1,5 +1,6 @@
#ifndef _INTERNALTYPES_H
-#include "../internaltypes.h"
+
+#include_next <internaltypes.h>
union sparc_pthread_barrier
{
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c b/sysdeps/sparc/nptl/pthread_barrier_destroy.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_destroy.c
rename to sysdeps/sparc/nptl/pthread_barrier_destroy.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c b/sysdeps/sparc/nptl/pthread_barrier_init.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_init.c
rename to sysdeps/sparc/nptl/pthread_barrier_init.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_wait.c b/sysdeps/sparc/nptl/pthread_barrier_wait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/pthread_barrier_wait.c
rename to sysdeps/sparc/nptl/pthread_barrier_wait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sem_init.c b/sysdeps/sparc/nptl/sem_init.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sem_init.c
rename to sysdeps/sparc/nptl/sem_init.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c b/sysdeps/sparc/nptl/sem_post.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sem_post.c
rename to sysdeps/sparc/nptl/sem_post.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sem_timedwait.c b/sysdeps/sparc/nptl/sem_timedwait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sem_timedwait.c
rename to sysdeps/sparc/nptl/sem_timedwait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sem_wait.c b/sysdeps/sparc/nptl/sem_wait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sem_wait.c
rename to sysdeps/sparc/nptl/sem_wait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c b/sysdeps/sparc/sparc32/nptl/lowlevellock.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c
rename to sysdeps/sparc/sparc32/nptl/lowlevellock.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c b/sysdeps/sparc/sparc32/nptl/pthread_barrier_wait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/pthread_barrier_wait.c
rename to sysdeps/sparc/sparc32/nptl/pthread_barrier_wait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c b/sysdeps/sparc/sparc32/nptl/sem_post.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_post.c
rename to sysdeps/sparc/sparc32/nptl/sem_post.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c b/sysdeps/sparc/sparc32/nptl/sem_timedwait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_timedwait.c
rename to sysdeps/sparc/sparc32/nptl/sem_timedwait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c b/sysdeps/sparc/sparc32/nptl/sem_trywait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_trywait.c
rename to sysdeps/sparc/sparc32/nptl/sem_trywait.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c b/sysdeps/sparc/sparc32/nptl/sem_wait.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sem_wait.c
rename to sysdeps/sparc/sparc32/nptl/sem_wait.c
diff --git a/sysdeps/sparc/sparc32/sparcv9/Makefile b/sysdeps/sparc/sparc32/sparcv9/Makefile
index 7d475b0..36f889e 100644
--- a/sysdeps/sparc/sparc32/sparcv9/Makefile
+++ b/sysdeps/sparc/sparc32/sparcv9/Makefile
@@ -18,3 +18,7 @@ ASFLAGS-.op += -Wa,-Av9a
ASFLAGS-.og += -Wa,-Av9a
ASFLAGS-.oS += -Wa,-Av9a
endif
+
+ifeq ($(subdir), nptl)
+libpthread-routines += cpu_relax
+endif
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/cpu_relax.S b/sysdeps/sparc/sparc32/sparcv9/nptl/cpu_relax.S
new file mode 100644
index 0000000..fa88647
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/cpu_relax.S
@@ -0,0 +1 @@
+#include <sysdeps/sparc/sparc64/nptl/cpu_relax.S>
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/pthread_barrier_wait.c b/sysdeps/sparc/sparc32/sparcv9/nptl/pthread_barrier_wait.c
new file mode 100644
index 0000000..8336f5e
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/pthread_barrier_wait.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/nptl/pthread_barrier_wait.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/sem_post.c b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_post.c
new file mode 100644
index 0000000..3c4b940
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_post.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/nptl/sem_post.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/sem_timedwait.c b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_timedwait.c
new file mode 100644
index 0000000..f19b2c5
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_timedwait.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/nptl/sem_timedwait.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/sem_trywait.c b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_trywait.c
new file mode 100644
index 0000000..80157c5
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_trywait.c
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/sem_trywait.c>
diff --git a/sysdeps/sparc/sparc32/sparcv9/nptl/sem_wait.c b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_wait.c
new file mode 100644
index 0000000..b6d8287
--- /dev/null
+++ b/sysdeps/sparc/sparc32/sparcv9/nptl/sem_wait.c
@@ -0,0 +1 @@
+#include <sysdeps/sparc/nptl/sem_wait.c>
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S b/sysdeps/sparc/sparc64/nptl/cpu_relax.S
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/cpu_relax.S
rename to sysdeps/sparc/sparc64/nptl/cpu_relax.S
diff --git a/sysdeps/unix/sysv/linux/sparc/Makefile b/sysdeps/unix/sysv/linux/sparc/Makefile
index 96b783e..e67aecf 100644
--- a/sysdeps/unix/sysv/linux/sparc/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/Makefile
@@ -11,3 +11,8 @@ endif
ifeq ($(subdir),sysvipc)
sysdep_routines += getshmlba
endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+endif
diff --git a/sysdeps/unix/sysv/linux/sparc/Versions b/sysdeps/unix/sysv/linux/sparc/Versions
index 5d31d1d..4dc1cd7 100644
--- a/sysdeps/unix/sysv/linux/sparc/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/Versions
@@ -30,6 +30,14 @@ libc {
__getshmlba;
}
}
+
+libpthread {
+ GLIBC_2.3.3 {
+ # Changed PTHREAD_STACK_MIN.
+ pthread_attr_setstack; pthread_attr_setstacksize;
+ }
+}
+
librt {
GLIBC_2.3 {
# AIO functions.
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/aio_cancel.c b/sysdeps/unix/sysv/linux/sparc/aio_cancel.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/aio_cancel.c
rename to sysdeps/unix/sysv/linux/sparc/aio_cancel.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h b/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/lowlevellock.h
rename to sysdeps/unix/sysv/linux/sparc/lowlevellock.h
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
index 715af3d..7ea433f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Makefile
@@ -7,3 +7,8 @@ LD += -melf64_sparc
ifeq ($(subdir),stdlib)
sysdep_routines += __start_context
endif
+
+ifeq ($(subdir),nptl)
+CFLAGS-pause.c += -fexceptions
+CFLAGS-sigsuspend.c += -fexceptions
+endif
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
index cfcc15b..fbea1bb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/Versions
@@ -9,3 +9,11 @@ libc {
wordexp;
}
}
+
+librt {
+ GLIBC_2.3.3 {
+ # Changed timer_t.
+ timer_create; timer_delete; timer_getoverrun; timer_gettime;
+ timer_settime;
+ }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/sparc/sparc64/sysdep-cancel.h
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
rename to sysdeps/unix/sysv/linux/sparc/sparc64/timer_create.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
rename to sysdeps/unix/sysv/linux/sparc/sparc64/timer_delete.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
rename to sysdeps/unix/sysv/linux/sparc/sparc64/timer_getoverr.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
rename to sysdeps/unix/sysv/linux/sparc/sparc64/timer_gettime.c
diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c b/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c
rename to sysdeps/unix/sysv/linux/sparc/sparc64/timer_settime.c