diff options
| author | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-01-05 11:24:00 +0000 | 
|---|---|---|
| committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2008-01-05 11:24:00 +0000 | 
| commit | 81caa1a620a04ade56293de4219b011db4d0f9a0 (patch) | |
| tree | 41df95c10ef65ed7617bb3b62a55521bf5265031 | |
| parent | 493399107e5c04df56a7d745589892f738c47831 (diff) | |
- fixup gnu_inline vs. C99 inline
- add missing header guards while at it
30 files changed, 214 insertions, 98 deletions
diff --git a/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h index 853ac6f04..26805c4e2 100644 --- a/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h index 284567970..3058d6465 100644 --- a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h index 874c8d15e..a6e1a6f76 100644 --- a/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h +++ b/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)  { diff --git a/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h index 8d97d5ec5..ae63e3879 100644 --- a/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h +++ b/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)) diff --git a/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h index a287e866a..de747bba7 100644 --- a/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h +++ b/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 */ diff --git a/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h index 64df5ffdb..c4c337b76 100644 --- a/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h index ad83147cb..a3cbfa014 100644 --- a/libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h index af1818d7b..858a9c7ed 100644 --- a/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h index a5ffec48d..bbb6b11e9 100644 --- a/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h index 4670ae3c4..5876d2071 100644 --- a/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h index 0bf7fc5b0..2c0f808fc 100644 --- a/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h index 5d82b8d16..20333d743 100644 --- a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h index 484a77e14..49013e1a2 100644 --- a/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h index 9e6543a26..b25347939 100644 --- a/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h index 02545e6b4..d1e560d33 100644 --- a/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h index 8269a4cb3..b45df975b 100644 --- a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h +++ b/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 */ diff --git a/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h index fb41c41e9..a9cb9b8bf 100644 --- a/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h +++ b/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 */ diff --git a/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h index f6ff845ac..0122a28fb 100644 --- a/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads/internals.h b/libpthread/linuxthreads/internals.h index c8e4262d6..8e270e37a 100644 --- a/libpthread/linuxthreads/internals.h +++ b/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 (); diff --git a/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h b/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h index 853ac6f04..26805c4e2 100644 --- a/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads/sysdeps/arm/pt-machine.h b/libpthread/linuxthreads/sysdeps/arm/pt-machine.h index a4c2f314c..80d040f4c 100644 --- a/libpthread/linuxthreads/sysdeps/arm/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h index 9ff55586b..253bda528 100644 --- a/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h +++ b/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); diff --git a/libpthread/linuxthreads/sysdeps/cris/pt-machine.h b/libpthread/linuxthreads/sysdeps/cris/pt-machine.h index 431da7101..d6e46f376 100644 --- a/libpthread/linuxthreads/sysdeps/cris/pt-machine.h +++ b/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)  { diff --git a/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h b/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h index abc25c4ca..e50a42e31 100644 --- a/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads/sysdeps/i386/pt-machine.h b/libpthread/linuxthreads/sysdeps/i386/pt-machine.h index 8483d4ef6..ad004e90d 100644 --- a/libpthread/linuxthreads/sysdeps/i386/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h b/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h index be1d37986..2fc94ec46 100644 --- a/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h +++ b/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.  */ diff --git a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h b/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h index ad524d6d2..3d1e87db1 100644 --- a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads/sysdeps/mips/pt-machine.h b/libpthread/linuxthreads/sysdeps/mips/pt-machine.h index 96f7a7f8c..ce7028631 100644 --- a/libpthread/linuxthreads/sysdeps/mips/pt-machine.h +++ b/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 diff --git a/libpthread/linuxthreads/sysdeps/sh/pt-machine.h b/libpthread/linuxthreads/sysdeps/sh/pt-machine.h index 02545e6b4..d1e560d33 100644 --- a/libpthread/linuxthreads/sysdeps/sh/pt-machine.h +++ b/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) diff --git a/libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h b/libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h index b30ab8518..66f9652fa 100644 --- a/libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h +++ b/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  | 
