summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2008-01-06 00:04:02 +0000
committerMike Frysinger <vapier@gentoo.org>2008-01-06 00:04:02 +0000
commit94fa1bb40fb531a71f7f751afcf96c4ad2f99591 (patch)
tree7a011c480ac25a1fef4b1903707dffad7d124b76
parent645002f7e8a45e039ab1366304b5013877b84797 (diff)
use the __extern_always_inline define from cdefs.h instead of duplicating gcc version checking in every pt-machine.h header ... while __extern_always_inline should work fine, i think what is intended is __extern_inline ... should double check later
-rw-r--r--include/sys/cdefs.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h10
-rw-r--r--libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h2
-rw-r--r--libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h2
-rw-r--r--libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h6
-rw-r--r--libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/alpha/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/arm/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/avr32/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/cris/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/hppa/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/i386/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/ia64/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/m68k/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/mips/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/sh/pt-machine.h6
-rw-r--r--libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h2
-rw-r--r--libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h6
40 files changed, 43 insertions, 161 deletions
diff --git a/include/sys/cdefs.h b/include/sys/cdefs.h
index e2920510a..588c1ebb2 100644
--- a/include/sys/cdefs.h
+++ b/include/sys/cdefs.h
@@ -298,9 +298,11 @@
#endif
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
- inline semantics, unless -fgnu89-inline is used. */
+ inline semantics, unless -fgnu89-inline is used.
+ For -std=gnu99, forcing gnu_inline attribute does not change behavior,
+ but may silence spurious warnings (such as in GCC 4.2). */
#if !defined __cplusplus || __GNUC_PREREQ (4,3)
-# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
+# if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
# if __GNUC_PREREQ (4,3)
# define __extern_always_inline \
diff --git a/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h
index 26805c4e2..97c38394b 100644
--- a/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/alpha/pt-machine.h
@@ -26,11 +26,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
#ifdef __linux__
diff --git a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
index 3058d6465..14eb6f6da 100644
--- a/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/arm/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* This will not work on ARM1 or ARM2 because SWP is lacking on those
diff --git a/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
index a6e1a6f76..c9669f2d3 100644
--- a/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/avr32/pt-machine.h
@@ -12,11 +12,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
static inline int
@@ -34,10 +30,6 @@ _test_and_set (int *p, int v)
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.old/sysdeps/bfin/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
index ae63e3879..9f5cb5c1f 100644
--- a/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/bfin/pt-machine.h
@@ -24,11 +24,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
#include <asm/fixed_code.h>
diff --git a/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h
index de747bba7..6d626fb4b 100644
--- a/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/cris/pt-machine.h
@@ -23,11 +23,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
PT_EI long int
diff --git a/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h
index c4c337b76..2317b65a0 100644
--- a/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/frv/pt-machine.h
@@ -27,11 +27,7 @@
#ifndef __ASSEMBLER__
#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
+# define PT_EI __extern_always_inline
#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 a3cbfa014..121f496d7 100644
--- a/libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/h8300/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h
index 858a9c7ed..989641439 100644
--- a/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/i386/pt-machine.h
@@ -26,11 +26,7 @@
#ifndef __ASSEMBLER__
#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
+# define PT_EI __extern_always_inline
#endif
/*
diff --git a/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h
index bbb6b11e9..668057a2a 100644
--- a/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/ia64/pt-machine.h
@@ -29,11 +29,7 @@ extern int __clone2 (int (*__fn) (void *__arg), void *__child_stack_base,
size_t __child_stack_size, int __flags, void *__arg, ...);
#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
+# define PT_EI __extern_always_inline
#endif
/* Make sure gcc doesn't try to be clever and move things around on
diff --git a/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h
index 5876d2071..295495baf 100644
--- a/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/m68k/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h
index 2c0f808fc..638952846 100644
--- a/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/mips/pt-machine.h
@@ -27,11 +27,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
diff --git a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
index 20333d743..140455013 100644
--- a/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h
index 49013e1a2..061fa735e 100644
--- a/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/nios2/pt-machine.h
@@ -24,11 +24,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h
index b25347939..561f8958e 100644
--- a/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/powerpc/pt-machine.h
@@ -27,11 +27,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* For multiprocessor systems, we want to ensure all memory accesses
diff --git a/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h
index d1e560d33..4ec87ad89 100644
--- a/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/sh/pt-machine.h
@@ -26,11 +26,7 @@
#ifndef __ASSEMBLER__
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
index b45df975b..b87448a75 100644
--- a/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/sh64/pt-machine.h
@@ -28,11 +28,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Get some notion of the current stack. Need not be exactly the top
diff --git a/libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h
index 322a52051..43c05f2a6 100644
--- a/libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/sparc/sparc32/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h
index f65c13be1..815d70e8d 100644
--- a/libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/sparc/sparc64/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h
index a9cb9b8bf..34de63b9f 100644
--- a/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/v850/pt-machine.h
@@ -17,11 +17,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Get some notion of the current stack. Need not be exactly the top
diff --git a/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h
index 0122a28fb..ce07bbb03 100644
--- a/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/x86_64/pt-machine.h
@@ -30,11 +30,7 @@
# 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
+# define PT_EI __extern_always_inline
# endif
/* Get some notion of the current stack. Need not be exactly the top
diff --git a/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h b/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h
index d5ab9f0ec..acd4d109f 100644
--- a/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h
+++ b/libpthread/linuxthreads.old/sysdeps/xtensa/pt-machine.h
@@ -26,7 +26,7 @@
#include <asm/unistd.h>
#ifndef PT_EI
-# define PT_EI extern inline
+# define PT_EI __extern_always_inline
#endif
/* Memory barrier. */
diff --git a/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h b/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h
index 26805c4e2..97c38394b 100644
--- a/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/alpha/pt-machine.h
@@ -26,11 +26,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
#ifdef __linux__
diff --git a/libpthread/linuxthreads/sysdeps/arm/pt-machine.h b/libpthread/linuxthreads/sysdeps/arm/pt-machine.h
index 80d040f4c..9ffc8bdc4 100644
--- a/libpthread/linuxthreads/sysdeps/arm/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/arm/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* This will not work on ARM1 or ARM2 because SWP is lacking on those
diff --git a/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h b/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
index 253bda528..903a7ed54 100644
--- a/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/avr32/pt-machine.h
@@ -12,11 +12,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
static inline int
diff --git a/libpthread/linuxthreads/sysdeps/cris/pt-machine.h b/libpthread/linuxthreads/sysdeps/cris/pt-machine.h
index d6e46f376..33cf57908 100644
--- a/libpthread/linuxthreads/sysdeps/cris/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/cris/pt-machine.h
@@ -24,11 +24,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
PT_EI long int
diff --git a/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h b/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h
index e50a42e31..780af7b96 100644
--- a/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/hppa/pt-machine.h
@@ -26,11 +26,7 @@
#include <bits/initspin.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
+# define PT_EI __extern_always_inline
#endif
/* Get some notion of the current stack. Need not be exactly the top
diff --git a/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h b/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
index 1c75bf980..222d44a3f 100644
--- a/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/i386/i686/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
#include "kernel-features.h"
diff --git a/libpthread/linuxthreads/sysdeps/i386/pt-machine.h b/libpthread/linuxthreads/sysdeps/i386/pt-machine.h
index ad004e90d..f96452599 100644
--- a/libpthread/linuxthreads/sysdeps/i386/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/i386/pt-machine.h
@@ -29,11 +29,7 @@
#ifndef __ASSEMBLER__
#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
+# define PT_EI __extern_always_inline
#endif
/*
diff --git a/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h b/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h
index 2fc94ec46..e36468a74 100644
--- a/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/ia64/pt-machine.h
@@ -25,11 +25,7 @@
#include <ia64intrin.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
+# define PT_EI __extern_always_inline
#endif
/* Make sure gcc doesn't try to be clever and move things around on
diff --git a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h b/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
index 3d1e87db1..a13c06946 100644
--- a/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/m68k/pt-machine.h
@@ -25,11 +25,7 @@
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads/sysdeps/mips/pt-machine.h b/libpthread/linuxthreads/sysdeps/mips/pt-machine.h
index ce7028631..0ab7ac13f 100644
--- a/libpthread/linuxthreads/sysdeps/mips/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/mips/pt-machine.h
@@ -29,11 +29,7 @@
#include <sys/tas.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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h b/libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h
index 8363d16d0..bfb13df67 100644
--- a/libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/powerpc/powerpc32/pt-machine.h
@@ -26,7 +26,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h b/libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
index 562e69fa1..d7ed84108 100644
--- a/libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
@@ -25,7 +25,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
index 398332965..d52d600ad 100644
--- a/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/s390/s390-32/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h b/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
index 49f8ae2b9..187e1f872 100644
--- a/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/s390/s390-64/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads/sysdeps/sh/pt-machine.h b/libpthread/linuxthreads/sysdeps/sh/pt-machine.h
index d1e560d33..4ec87ad89 100644
--- a/libpthread/linuxthreads/sysdeps/sh/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/sh/pt-machine.h
@@ -26,11 +26,7 @@
#ifndef __ASSEMBLER__
#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
+# define PT_EI __extern_always_inline
#endif
/* Spinlock implementation; required. */
diff --git a/libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h b/libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
index 322a52051..43c05f2a6 100644
--- a/libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/sparc/sparc32/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern long int testandset (int *spinlock);
diff --git a/libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h b/libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
index f65c13be1..815d70e8d 100644
--- a/libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/sparc/sparc64/pt-machine.h
@@ -23,7 +23,7 @@
#define _PT_MACHINE_H 1
#ifndef PT_EI
-# define PT_EI extern inline __attribute__ ((always_inline))
+# define PT_EI __extern_always_inline
#endif
extern 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 66f9652fa..23615dbd8 100644
--- a/libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h
+++ b/libpthread/linuxthreads/sysdeps/x86_64/pt-machine.h
@@ -30,11 +30,7 @@
# 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
+# define PT_EI __extern_always_inline
# endif
/* Get some notion of the current stack. Need not be exactly the top