[uClibc-cvs] uClibc/libpthread/linuxthreads/sysdeps/m68k stackinfo.h,NONE,1.1 pt-machine.h,1.2,1.3

Erik Andersen andersen at codepoet.org
Thu Feb 27 18:13:25 UTC 2003


Update of /var/cvs/uClibc/libpthread/linuxthreads/sysdeps/m68k
In directory winder:/tmp/cvs-serv18985/libpthread/linuxthreads/sysdeps/m68k

Modified Files:
	pt-machine.h 
Added Files:
	stackinfo.h 
Log Message:
Major update for pthreads, based in large part on improvements
from glibc 2.3.  This should make threads much more efficient.
 -Erik


--- NEW FILE: stackinfo.h ---
/* Copyright (C) 1999 Free Software Foundation, Inc.
   This file is part of the GNU C Library.

   The GNU C Library is free software; you can redistribute it and/or
   modify it under the terms of the GNU Lesser General Public
   License as published by the Free Software Foundation; either
   version 2.1 of the License, or (at your option) any later version.

   The GNU C Library is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public
   License along with the GNU C Library; if not, write to the Free
   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
   02111-1307 USA.  */

/* This file contains a bit of information about the stack allocation
   of the processor.  */

#ifndef _STACKINFO_H
#define _STACKINFO_H	1

/* On m68k the stack grows down.  */
#define _STACK_GROWS_DOWN	1

#endif	/* stackinfo.h */

Index: pt-machine.h
===================================================================
RCS file: /var/cvs/uClibc/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- pt-machine.h	17 Sep 2002 02:08:25 -0000	1.2
+++ pt-machine.h	27 Feb 2003 18:12:50 -0000	1.3
@@ -1,41 +1,41 @@
 /* Machine-dependent pthreads configuration and inline functions.
    m68k version.
-   Copyright (C) 1996, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1998, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth at tamu.edu>.
 
    The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
+   modify it under the terms of the GNU Lesser General Public License as
+   published by the Free Software Foundation; either version 2.1 of the
    License, or (at your option) any later version.
 
    The GNU C Library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
+   Lesser General Public License for more details.
 
-   You should have received a copy of the GNU Library General Public
+   You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; see the file COPYING.LIB.  If
    not, write to the Free Software Foundation, Inc.,
    59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
 #ifndef PT_EI
 # define PT_EI extern inline
 #endif
 
+extern long int testandset (int *spinlock);
+extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 
 /* Spinlock implementation; required.  */
-PT_EI int
+PT_EI long int
 testandset (int *spinlock)
 {
   char ret;
 
-  __asm__ __volatile__(
-#ifdef __mcf5200__
-         "bset #7,%1; sne %0"
-#else
-         "tas %1; sne %0"
-#endif
+  __asm__ __volatile__("tas %1; sne %0"
        : "=dm"(ret), "=m"(*spinlock)
        : "m"(*spinlock)
        : "cc");
@@ -52,7 +52,6 @@
 
 /* Compare-and-swap for semaphores. */
 
-#ifndef __mcf5200__
 #define HAS_COMPARE_AND_SWAP
 PT_EI int
 __compare_and_swap (long int *p, long int oldval, long int newval)
@@ -66,5 +65,5 @@
 
   return ret;
 }
-#endif
 
+#endif /* pt-machine.h */




More information about the uClibc-cvs mailing list