summaryrefslogtreecommitdiff
path: root/libpthread/linuxthreads/sysdeps/sh/pt-machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libpthread/linuxthreads/sysdeps/sh/pt-machine.h')
-rw-r--r--libpthread/linuxthreads/sysdeps/sh/pt-machine.h11
1 files changed, 7 insertions, 4 deletions
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)