aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-07-16 01:02:04 +0000
committerUlrich Drepper <drepper@redhat.com>2002-07-16 01:02:04 +0000
commita99bfa85d82aecc3eb780779377a9e178e7189d2 (patch)
tree682a57a683bcf9e64cf0230f4a3648d20aa49217 /sysdeps/unix
parent807bce82b385e7542f94a2fef994725b368a13b4 (diff)
downloadglibc-a99bfa85d82aecc3eb780779377a9e178e7189d2.tar
glibc-a99bfa85d82aecc3eb780779377a9e178e7189d2.tar.gz
glibc-a99bfa85d82aecc3eb780779377a9e178e7189d2.tar.bz2
glibc-a99bfa85d82aecc3eb780779377a9e178e7189d2.zip
Update.
2002-07-02 H.J. Lu <hjl@gnu.org> * sysdeps/mips/atomicity.h: Don't include <sgidefs.h>. Always use ll/sc. * sysdeps/unix/sysv/linux/mips/sys/tas.h: Likewise. * sysdeps/unix/sysv/linux/configure.in: Set arch_minimum_kernel to 2.4.0 for mips. TLS fail if USE_TLS is not defined.
Diffstat (limited to 'sysdeps/unix')
-rw-r--r--sysdeps/unix/sysv/linux/configure2
-rw-r--r--sysdeps/unix/sysv/linux/configure.in2
-rw-r--r--sysdeps/unix/sysv/linux/mips/sys/tas.h17
3 files changed, 5 insertions, 16 deletions
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index b08bbb2973..3b30a9ce62 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -72,7 +72,7 @@ case "$machine" in
libc_cv_gcc_unwind_find_fde=yes
;;
mips*)
- arch_minimum_kernel=2.2.15
+ arch_minimum_kernel=2.4.0
libc_cv_gcc_unwind_find_fde=yes
;;
powerpc*)
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 5362d45aab..c5aa4e81cf 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -59,7 +59,7 @@ case "$machine" in
libc_cv_gcc_unwind_find_fde=yes
;;
mips*)
- arch_minimum_kernel=2.2.15
+ arch_minimum_kernel=2.4.0
libc_cv_gcc_unwind_find_fde=yes
;;
powerpc*)
diff --git a/sysdeps/unix/sysv/linux/mips/sys/tas.h b/sysdeps/unix/sysv/linux/mips/sys/tas.h
index 2a1a04546e..7ad916c3c9 100644
--- a/sysdeps/unix/sysv/linux/mips/sys/tas.h
+++ b/sysdeps/unix/sysv/linux/mips/sys/tas.h
@@ -21,8 +21,6 @@
#define _SYS_TAS_H 1
#include <features.h>
-#include <sgidefs.h>
-#include <sys/sysmips.h>
__BEGIN_DECLS
@@ -34,8 +32,6 @@ extern int _test_and_set (int *p, int v) __THROW;
# define _EXTERN_INLINE extern __inline
# endif
-# if (_MIPS_ISA >= _MIPS_ISA_MIPS2)
-
_EXTERN_INLINE int
_test_and_set (int *p, int v) __THROW
{
@@ -44,10 +40,13 @@ _test_and_set (int *p, int v) __THROW
__asm__ __volatile__
("/* Inline test and set */\n"
"1:\n\t"
+ ".set push\n\t"
+ ".set mips2\n\t"
"ll %0,%3\n\t"
"move %1,%4\n\t"
"beq %0,%4,2f\n\t"
"sc %1,%2\n\t"
+ ".set pop\n\t"
"beqz %1,1b\n"
"2:\n\t"
"/* End test and set */"
@@ -58,16 +57,6 @@ _test_and_set (int *p, int v) __THROW
return r;
}
-# else /* !(_MIPS_ISA >= _MIPS_ISA_MIPS2) */
-
-_EXTERN_INLINE int
-_test_and_set (int *p, int v) __THROW
-{
- return sysmips (MIPS_ATOMIC_SET, (int) p, v, 0);
-}
-
-# endif /* !(_MIPS_ISA >= _MIPS_ISA_MIPS2) */
-
#endif /* __USE_EXTERN_INLINES */
__END_DECLS