Преглед на файлове

- fixup gnu_inline vs. C99 inline
- add missing header guards while at it

Bernhard Reutner-Fischer преди 17 години
родител
ревизия
81caa1a620
променени са 30 файла, в които са добавени 214 реда и са изтрити 98 реда
  1. 7 4
      libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h
  2. 7 4
      libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
  3. 8 0
      libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
  4. 2 0
      libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
  5. 11 1
      libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h
  6. 7 1
      libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h
  7. 7 3
      libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h
  8. 9 1
      libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h
  9. 6 4
      libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h
  10. 7 4
      libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h
  11. 8 8
      libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h
  12. 7 2
      libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
  13. 7 3
      libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h
  14. 7 4
      libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h
  15. 7 4
      libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h
  16. 12 5
      libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
  17. 11 1
      libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h
  18. 7 4
      libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h
  19. 2 2
      libpthread/linuxthreads/internals.h
  20. 7 4
      libpthread/linuxthreads/sysdeps/alpha/pt-machine.h
  21. 7 4
      libpthread/linuxthreads/sysdeps/arm/pt-machine.h
  22. 8 4
      libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
  23. 7 4
      libpthread/linuxthreads/sysdeps/cris/pt-machine.h
  24. 6 4
      libpthread/linuxthreads/sysdeps/hppa/pt-machine.h
  25. 7 2
      libpthread/linuxthreads/sysdeps/i386/pt-machine.h
  26. 6 4
      libpthread/linuxthreads/sysdeps/ia64/pt-machine.h
  27. 7 4
      libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
  28. 6 5
      libpthread/linuxthreads/sysdeps/mips/pt-machine.h
  29. 7 4
      libpthread/linuxthreads/sysdeps/sh/pt-machine.h
  30. 7 4
      libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h

@@ -23,8 +23,14 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
 #ifdef __linux__
 #ifdef __linux__
@@ -33,9 +39,6 @@
 # include <machine/pal.h>
 # include <machine/pal.h>
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 #define CURRENT_STACK_FRAME  stack_pointer

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those
    machines.  Unfortunately we have no way to detect this at compile
    machines.  Unfortunately we have no way to detect this at compile
    time; let's hope nobody tries to use one.  */
    time; let's hope nobody tries to use one.  */

+ 8 - 0
libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h

@@ -11,6 +11,14 @@
 
 
 #include <features.h>
 #include <features.h>
 
 
+#ifndef PT_EI
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
+#endif
+
 static inline int
 static inline int
 _test_and_set (int *p, int v)
 _test_and_set (int *p, int v)
 {
 {

+ 2 - 0
libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h

@@ -21,6 +21,8 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
 #  define PT_EI static inline __attribute__((always_inline))
 #  define PT_EI static inline __attribute__((always_inline))

+ 11 - 1
libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h

@@ -17,9 +17,17 @@
    License along with the GNU C Library; see the file COPYING.LIB.  If not,
    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,
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
    Boston, MA 02111-1307, USA.  */
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
+#include <features.h>
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
 PT_EI long int
 PT_EI long int
@@ -62,3 +70,5 @@ testandset (int *spinlock)
    I don't trust register variables, so let's do this the safe way.  */
    I don't trust register variables, so let's do this the safe way.  */
 #define CURRENT_STACK_FRAME \
 #define CURRENT_STACK_FRAME \
  ({ char *sp; __asm__ ("move.d $sp,%0" : "=rm" (sp)); sp; })
  ({ char *sp; __asm__ ("move.d $sp,%0" : "=rm" (sp)); sp; })
+
+#endif /* pt-machine.h */

+ 7 - 1
libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h

@@ -22,10 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */

+ 7 - 3
libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h

@@ -22,12 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 9 - 1
libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h

@@ -22,13 +22,21 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H	1
 #define _PT_MACHINE_H	1
 
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
+/*
 extern long int testandset (int *spinlock);
 extern long int testandset (int *spinlock);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
+*/
 
 
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */

+ 6 - 4
libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h

@@ -21,6 +21,7 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
 #include <ia64intrin.h>
 #include <ia64intrin.h>
 
 
 #include <sys/types.h>
 #include <sys/types.h>
@@ -28,12 +29,13 @@ extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
                      size_t __child_stack_size, int __flags, void *__arg, ...);
                      size_t __child_stack_size, int __flags, void *__arg, ...);
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Make sure gcc doesn't try to be clever and move things around on
 /* Make sure gcc doesn't try to be clever and move things around on
    us. We need to use _exactly_ the address the user gave us, not some
    us. We need to use _exactly_ the address the user gave us, not some
    alias that contains the same information.  */
    alias that contains the same information.  */

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 8 - 8
libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h

@@ -26,6 +26,14 @@
 
 
 #include <features.h>
 #include <features.h>
 
 
+#ifndef PT_EI
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
+#endif
+
 /* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
 /* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    This file is part of the GNU C Library.
    Contributed by Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 2000.  */
    Contributed by Maciej W. Rozycki <macro@ds2.pg.gda.pl>, 2000.  */
@@ -55,14 +63,6 @@ __NTH (_test_and_set (int *p, int v))
 }
 }
 
 
 
 
-#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_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.  */
 /* Spinlock implementation; required.  */
 
 
 PT_EI long int
 PT_EI long int

+ 7 - 2
libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

@@ -22,11 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 /* it is weird and dangerous to disable interrupt in userspace, but for nios
 /* it is weird and dangerous to disable interrupt in userspace, but for nios
    what else we can do before we have a swap like instruction?  This is better
    what else we can do before we have a swap like instruction?  This is better

+ 7 - 3
libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h

@@ -21,12 +21,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h

@@ -24,13 +24,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* For multiprocessor systems, we want to ensure all memory accesses
 /* For multiprocessor systems, we want to ensure all memory accesses
    are completed before we reset a lock.  On other systems, we still
    are completed before we reset a lock.  On other systems, we still
    need to make sure that the compiler has flushed everything to memory.  */
    need to make sure that the compiler has flushed everything to memory.  */

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h

@@ -22,14 +22,17 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 12 - 5
libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h

@@ -22,15 +22,22 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
    Boston, MA 02111-1307, USA.  */
 
 
-#ifndef PT_EI
+#ifndef _PT_MACHINE_H
-# define PT_EI extern inline
+#define _PT_MACHINE_H   1
-#endif
 
 
-/* Spinlock implementation; required.  */
+#include <features.h>
-extern long int testandset (int *spinlock);
 
 
+#ifndef PT_EI
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
+#endif
 
 
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 #define CURRENT_STACK_FRAME  stack_pointer
 register char * stack_pointer __asm__ ("r15");
 register char * stack_pointer __asm__ ("r15");
+
+#endif /* pt-machine.h */

+ 11 - 1
libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h

@@ -11,8 +11,17 @@
  * Written by Miles Bader <miles@gnu.org>
  * Written by Miles Bader <miles@gnu.org>
  */
  */
 
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
@@ -44,3 +53,4 @@ __compare_and_swap (long *ptr, long old, long new)
       return 0;
       return 0;
     }
     }
 }
 }
+#endif /* pt-machine.h */

+ 7 - 4
libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h

@@ -21,6 +21,8 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 # include <stddef.h>	/* For offsetof.  */
 # include <stddef.h>	/* For offsetof.  */
 # include <stdlib.h>	/* For abort().  */
 # include <stdlib.h>	/* For abort().  */
@@ -28,11 +30,12 @@
 
 
 
 
 # ifndef PT_EI
 # ifndef PT_EI
-#  define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 # endif
 # endif
-
-extern long int testandset (int *__spinlock);
-extern int __compare_and_swap (long int *__p, long int __oldval, long int __newval);
 
 
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */

+ 2 - 2
libpthread/linuxthreads/internals.h

@@ -531,9 +531,9 @@ weak_extern (__pthread_thread_self)
 # define __manager_thread __pthread_manager_threadp
 # define __manager_thread __pthread_manager_threadp
 #endif
 #endif
 
 
-extern __always_inline pthread_descr
+static __always_inline pthread_descr
 check_thread_self (void);
 check_thread_self (void);
-extern __always_inline pthread_descr
+static __always_inline pthread_descr
 check_thread_self (void)
 check_thread_self (void)
 {
 {
   pthread_descr self = thread_self ();
   pthread_descr self = thread_self ();

+ 7 - 4
libpthread/linuxthreads/sysdeps/alpha/pt-machine.h

@@ -23,8 +23,14 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
 #ifdef __linux__
 #ifdef __linux__
@@ -33,9 +39,6 @@
 # include <machine/pal.h>
 # include <machine/pal.h>
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 #define CURRENT_STACK_FRAME  stack_pointer

+ 7 - 4
libpthread/linuxthreads/sysdeps/arm/pt-machine.h

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those
 /* This will not work on ARM1 or ARM2 because SWP is lacking on those
    machines.  Unfortunately we have no way to detect this at compile
    machines.  Unfortunately we have no way to detect this at compile
    time; let's hope nobody tries to use one.  */
    time; let's hope nobody tries to use one.  */

+ 8 - 4
libpthread/linuxthreads/sysdeps/avr32/pt-machine.h

@@ -11,6 +11,14 @@
 
 
 #include <features.h>
 #include <features.h>
 
 
+#ifndef PT_EI
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
+#endif
+
 static inline int
 static inline int
 _test_and_set (int *p, int v) __THROW
 _test_and_set (int *p, int v) __THROW
 {
 {
@@ -26,10 +34,6 @@ _test_and_set (int *p, int v) __THROW
        return result;
        return result;
 }
 }
 
 
-#ifndef PT_EI
-# define PT_EI extern inline
-#endif
-
 extern long int testandset (int *spinlock);
 extern long int testandset (int *spinlock);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 
 

+ 7 - 4
libpthread/linuxthreads/sysdeps/cris/pt-machine.h

@@ -21,13 +21,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)
 {
 {

+ 6 - 4
libpthread/linuxthreads/sysdeps/hppa/pt-machine.h

@@ -22,15 +22,17 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
 #include <bits/initspin.h>
 #include <bits/initspin.h>
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 #define CURRENT_STACK_FRAME  stack_pointer

+ 7 - 2
libpthread/linuxthreads/sysdeps/i386/pt-machine.h

@@ -29,12 +29,17 @@
 
 
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
+/*
 extern long int testandset (int *spinlock);
 extern long int testandset (int *spinlock);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
+*/
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  __builtin_frame_address (0)
 #define CURRENT_STACK_FRAME  __builtin_frame_address (0)

+ 6 - 4
libpthread/linuxthreads/sysdeps/ia64/pt-machine.h

@@ -21,15 +21,17 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
 #include <ia64intrin.h>
 #include <ia64intrin.h>
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Make sure gcc doesn't try to be clever and move things around on
 /* Make sure gcc doesn't try to be clever and move things around on
    us. We need to use _exactly_ the address the user gave us, not some
    us. We need to use _exactly_ the address the user gave us, not some
    alias that contains the same information.  */
    alias that contains the same information.  */

+ 7 - 4
libpthread/linuxthreads/sysdeps/m68k/pt-machine.h

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 6 - 5
libpthread/linuxthreads/sysdeps/mips/pt-machine.h

@@ -24,17 +24,18 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
 #include <sgidefs.h>
 #include <sgidefs.h>
 #include <sys/tas.h>
 #include <sys/tas.h>
 
 
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 
 
 PT_EI long int
 PT_EI long int

+ 7 - 4
libpthread/linuxthreads/sysdeps/sh/pt-machine.h

@@ -22,14 +22,17 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 #ifndef PT_EI
 #ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#  define PT_EI static inline __attribute__((always_inline))
+# else
+#  define PT_EI extern inline __attribute__((always_inline))
+# endif
 #endif
 #endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Spinlock implementation; required.  */
 /* Spinlock implementation; required.  */
 PT_EI long int
 PT_EI long int
 testandset (int *spinlock)
 testandset (int *spinlock)

+ 7 - 4
libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h

@@ -21,6 +21,8 @@
 #ifndef _PT_MACHINE_H
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 #define _PT_MACHINE_H   1
 
 
+# include <features.h>
+
 #ifndef __ASSEMBLER__
 #ifndef __ASSEMBLER__
 # include <stddef.h>	/* For offsetof.  */
 # include <stddef.h>	/* For offsetof.  */
 # include <stdlib.h>	/* For abort().  */
 # include <stdlib.h>	/* For abort().  */
@@ -28,12 +30,13 @@
 
 
 
 
 # ifndef PT_EI
 # ifndef PT_EI
-#  define PT_EI extern inline __attribute__ ((always_inline))
+#  if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
+#   define PT_EI static inline __attribute__((always_inline))
+#  else
+#   define PT_EI extern inline __attribute__((always_inline))
+#  endif
 # endif
 # endif
 
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 /* Get some notion of the current stack.  Need not be exactly the top
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
    of the stack, just something somewhere in the current frame.  */
 # define CURRENT_STACK_FRAME  stack_pointer
 # define CURRENT_STACK_FRAME  stack_pointer