Browse Source

fix compilation of linuxthreads for sparc
add myself to MAINTAINERS for sparc

austinf 15 years ago
parent
commit
00ebae02f6

+ 3 - 1
MAINTAINERS

@@ -126,7 +126,9 @@ S:	Supported
 
 
 SPARC
-S:	Unmaintained
+P:  Austin Foxley
+E:  austinf@cetoncorp.com
+S:	Maintained
 
 VAX
 P:	Jan-Benedict Glaw

+ 0 - 3
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.  */

+ 4 - 0
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;

+ 1 - 12
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>
+

+ 0 - 1
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>

+ 10 - 0
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