summaryrefslogtreecommitdiff
path: root/libpthread
diff options
context:
space:
mode:
authoraustinf <austinf@localhost>2009-03-18 23:05:54 +0000
committeraustinf <austinf@localhost>2009-03-18 23:05:54 +0000
commit00ebae02f6ca670bf25be06f581bd36d0088f357 (patch)
treea1782f34c1489e0f2621af50a23ea0aacd7322ef /libpthread
parente72856950a9baa76ed41fb8d684cb13375daf48e (diff)
fix compilation of linuxthreads for sparc
add myself to MAINTAINERS for sparc
Diffstat (limited to 'libpthread')
-rw-r--r--libpthread/linuxthreads/libc-cancellation.c3
-rw-r--r--libpthread/linuxthreads/libc_pthread_init.c4
-rw-r--r--libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h13
-rw-r--r--libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h1
-rw-r--r--libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h10
5 files changed, 15 insertions, 16 deletions
diff --git a/libpthread/linuxthreads/libc-cancellation.c b/libpthread/linuxthreads/libc-cancellation.c
index d97359b22..23bb2a5bb 100644
--- a/libpthread/linuxthreads/libc-cancellation.c
+++ b/libpthread/linuxthreads/libc-cancellation.c
@@ -31,9 +31,6 @@
weak_extern (__pthread_do_exit)
# endif
-int __libc_multiple_threads attribute_hidden __attribute__((nocommon));
-strong_alias (__libc_multiple_threads, __librt_multiple_threads)
-
/* The next two functions are similar to pthread_setcanceltype() but
more specialized for the use in the cancelable functions like write().
They do not need to check parameters etc. */
diff --git a/libpthread/linuxthreads/libc_pthread_init.c b/libpthread/linuxthreads/libc_pthread_init.c
index 30490de27..49c734bca 100644
--- a/libpthread/linuxthreads/libc_pthread_init.c
+++ b/libpthread/linuxthreads/libc_pthread_init.c
@@ -33,6 +33,10 @@
/* libc_hidden_proto(uselocale) */
#endif
+int __libc_multiple_threads attribute_hidden __attribute__((nocommon));
+strong_alias (__libc_multiple_threads, __librt_multiple_threads)
+
+
int *
__libc_pthread_init (functions)
const struct pthread_functions *functions;
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h
index b736526c1..ebad7b91c 100644
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h
+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/fork.h
@@ -19,16 +19,5 @@
#include <sysdep.h>
-#define ARCH_FORK() \
-({ \
- register long __o0 __asm__ ("o0"); \
- register long __o1 __asm__ ("o1"); \
- register long __g1 __asm__ ("g1") = __NR_fork; \
- __asm__ __volatile__ (__SYSCALL_STRING \
- : "=r" (__g1), "=r" (__o0), "=r" (__o1) \
- : "0" (__g1) \
- : __SYSCALL_CLOBBERS); \
- __o0 == -1 ? __o0 : (__o0 & (__o1 - 1)); \
-})
-
#include_next <fork.h>
+
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
index dd3f52a98..7bab35ee3 100644
--- a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep-cancel.h
@@ -17,7 +17,6 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
-#include <sysdep.h>
#include <tls.h>
#ifndef __ASSEMBLER__
# include <linuxthreads/internals.h>
diff --git a/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
new file mode 100644
index 000000000..fa656b34e
--- /dev/null
+++ b/libpthread/linuxthreads/sysdeps/unix/sysv/linux/sparc/sysdep-cancel.h
@@ -0,0 +1,10 @@
+#ifndef SPARC_SYSDEP_CANCEL_H
+#define SPARC_SYSDEP_CANCEL_H
+
+#if defined(__arch64__)
+#include <sparc64/sysdep-cancel.h>
+#else
+#include <sparc32/sysdep-cancel.h>
+#endif
+
+#endif