Bladeren bron

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

Bernhard Reutner-Fischer 16 jaren geleden
bovenliggende
commit
81caa1a620
30 gewijzigde bestanden met toevoegingen van 214 en 98 verwijderingen
  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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
 #ifdef __linux__
@@ -33,9 +39,6 @@
 # include <machine/pal.h>
 #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
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer

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

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-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
    machines.  Unfortunately we have no way to detect this at compile
    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>
 
+#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
 _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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #ifndef PT_EI
 # if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)
 #  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,
    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
+
+#include <features.h>
 
 #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
 
 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.  */
 #define CURRENT_STACK_FRAME \
  ({ 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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 
 #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
 
 /* Spinlock implementation; required.  */

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

@@ -22,12 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-extern long int testandset (int *spinlock);
-
 /* Spinlock implementation; required.  */
 PT_EI long int
 testandset (int *spinlock)

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

@@ -22,13 +22,21 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H	1
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #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
 
+/*
 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
    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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
 #include <ia64intrin.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, ...);
 
 #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
 
-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
    us. We need to use _exactly_ the address the user gave us, not some
    alias that contains the same information.  */

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

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-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 long int
 testandset (int *spinlock)

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

@@ -26,6 +26,14 @@
 
 #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.
    This file is part of the GNU C Library.
    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.  */
 
 PT_EI long int

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

@@ -22,11 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-extern long int testandset (int *spinlock);
 /* Spinlock implementation; required.  */
 /* 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

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

@@ -21,12 +21,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-extern long int testandset (int *spinlock);
-
 /* Spinlock implementation; required.  */
 PT_EI long int
 testandset (int *spinlock)

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

@@ -24,13 +24,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-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
    are completed before we reset a lock.  On other systems, we still
    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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #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
 
-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 long int
 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,
    Boston, MA 02111-1307, USA.  */
 
-#ifndef PT_EI
-# define PT_EI extern inline
-#endif
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
 
-/* Spinlock implementation; required.  */
-extern long int testandset (int *spinlock);
+#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
 
 /* Get some notion of the current stack.  Need not be exactly the top
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer
 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>
  */
 
+#ifndef _PT_MACHINE_H
+#define _PT_MACHINE_H   1
+
+#include <features.h>
+
 #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
 
 /* 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;
     }
 }
+#endif /* pt-machine.h */

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

@@ -21,6 +21,8 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 # include <stddef.h>	/* For offsetof.  */
 # include <stdlib.h>	/* For abort().  */
@@ -28,11 +30,12 @@
 
 
 # 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
-
-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
    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
 #endif
 
-extern __always_inline pthread_descr
+static __always_inline pthread_descr
 check_thread_self (void);
-extern __always_inline pthread_descr
+static __always_inline pthread_descr
 check_thread_self (void)
 {
   pthread_descr self = thread_self ();

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

@@ -23,8 +23,14 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
 #ifdef __linux__
@@ -33,9 +39,6 @@
 # include <machine/pal.h>
 #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
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer

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

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-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
    machines.  Unfortunately we have no way to detect this at compile
    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>
 
+#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
 _test_and_set (int *p, int v) __THROW
 {
@@ -26,10 +34,6 @@ _test_and_set (int *p, int v) __THROW
        return result;
 }
 
-#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);
 

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

@@ -21,13 +21,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-extern long int testandset (int *spinlock);
-extern int __compare_and_swap (long int *p, long int oldval, long int newval);
-
 PT_EI long int
 testandset (int *spinlock)
 {

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

@@ -22,15 +22,17 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
 #include <bits/initspin.h>
 
 #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
 
-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
    of the stack, just something somewhere in the current frame.  */
 #define CURRENT_STACK_FRAME  stack_pointer

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

@@ -29,12 +29,17 @@
 
 #ifndef __ASSEMBLER__
 #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
 
+/*
 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
    of the stack, just something somewhere in the current frame.  */
 #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
 #define _PT_MACHINE_H   1
 
+#include <features.h>
 #include <ia64intrin.h>
 
 #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
 
-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
    us. We need to use _exactly_ the address the user gave us, not some
    alias that contains the same information.  */

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

@@ -22,13 +22,16 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #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
 
-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 long int
 testandset (int *spinlock)

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

@@ -24,17 +24,18 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
 #include <sgidefs.h>
 #include <sys/tas.h>
 
 #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
 
-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 long int

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

@@ -22,14 +22,17 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+#include <features.h>
+
 #ifndef __ASSEMBLER__
 #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
 
-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 long int
 testandset (int *spinlock)

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

@@ -21,6 +21,8 @@
 #ifndef _PT_MACHINE_H
 #define _PT_MACHINE_H   1
 
+# include <features.h>
+
 #ifndef __ASSEMBLER__
 # include <stddef.h>	/* For offsetof.  */
 # include <stdlib.h>	/* For abort().  */
@@ -28,12 +30,13 @@
 
 
 # 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
 
-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
    of the stack, just something somewhere in the current frame.  */
 # define CURRENT_STACK_FRAME  stack_pointer