aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--FAQ54
-rw-r--r--sysdeps/unix/sysv/linux/configure62
-rw-r--r--sysdeps/unix/sysv/linux/configure.in11
-rwxr-xr-xsysdeps/unix/sysv/linux/mips/configure59
-rw-r--r--sysdeps/unix/sysv/linux/mips/configure.in10
6 files changed, 101 insertions, 100 deletions
diff --git a/ChangeLog b/ChangeLog
index deb157b..70af55c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
2001-05-11 Andreas Jaeger <aj@suse.de>
+ * sysdeps/unix/sysv/linux/configure.in: Move binutils check to...
+ * sysdeps/unix/sysv/linux/mips/configure.in: ...here. New file.
+
+2001-05-11 Andreas Jaeger <aj@suse.de>
+
* sysdeps/unix/sysv/linux/configure.in: Check binutils version on
MIPS.
diff --git a/FAQ b/FAQ
index 1a21ffd..4198a87 100644
--- a/FAQ
+++ b/FAQ
@@ -560,11 +560,11 @@ newer.
1.20. Which tools should I use for MIPS?
-{AJ} You should use the current development version of gcc 2.97 from CVS.
-gcc 2.95.x does not work correctly on mips-linux.
+{AJ} You should use the current development version of gcc 3.0 or newer from
+CVS. gcc 2.95.x does not work correctly on mips-linux.
-You need also recent binutils, anything before and including 2.10 will not
-work correctly. Either try the Linux binutils 2.10.0.33 from HJ Lu or the
+You need also recent binutils, anything before and including 2.11 will not
+work correctly. Either try the Linux binutils 2.11.90.0.5 from HJ Lu or the
current development version of binutils from CVS.
Please note that `make check' might fail for a number of the math tests
@@ -1862,29 +1862,29 @@ this should be necessary.
supports synchronous context switches only. There are several reasons for
this:
- o UNIX provides no other (portable) way of effecting a synchronous
- context switch (also known as co-routine switch). Some versions
- support this via setjmp()/longjmp() but this does not work
- universally.
-
- o As defined by the UNIX '98 standard, the only way setcontext()
- could trigger an asychronous context switch is if this function
- were invoked on the ucontext_t pointer passed as the third argument
- to a signal handler. But according to draft 5, XPG6, XBD 2.4.3,
- setcontext() is not among the set of routines that may be called
- from a signal handler.
-
- o If setcontext() were to be used for asynchronous context switches,
- all kinds of synchronization and re-entrancy issues could arise and
- these problems have already been solved by real multi-threading
- libraries (e.g., POSIX threads or Linux threads).
-
- o Synchronous context switching can be implemented entirely in
- user-level and less state needs to be saved/restored than for an
- asynchronous context switch. It is therefore useful to distinguish
- between the two types of context switches. Indeed, some
- application vendors are known to use setcontext() to implement
- co-routines on top of normal (heavier-weight) pre-emptable threads.
+- UNIX provides no other (portable) way of effecting a synchronous
+ context switch (also known as co-routine switch). Some versions
+ support this via setjmp()/longjmp() but this does not work
+ universally.
+
+- As defined by the UNIX '98 standard, the only way setcontext()
+ could trigger an asychronous context switch is if this function
+ were invoked on the ucontext_t pointer passed as the third argument
+ to a signal handler. But according to draft 5, XPG6, XBD 2.4.3,
+ setcontext() is not among the set of routines that may be called
+ from a signal handler.
+
+- If setcontext() were to be used for asynchronous context switches,
+ all kinds of synchronization and re-entrancy issues could arise and
+ these problems have already been solved by real multi-threading
+ libraries (e.g., POSIX threads or Linux threads).
+
+- Synchronous context switching can be implemented entirely in
+ user-level and less state needs to be saved/restored than for an
+ asynchronous context switch. It is therefore useful to distinguish
+ between the two types of context switches. Indeed, some
+ application vendors are known to use setcontext() to implement
+ co-routines on top of normal (heavier-weight) pre-emptable threads.
It should be noted that if someone was dead-bent on using setcontext()
on the third arg of a signal handler, then IA-64 Linux could support
diff --git a/sysdeps/unix/sysv/linux/configure b/sysdeps/unix/sysv/linux/configure
index 04a2d1a..f852718 100644
--- a/sysdeps/unix/sysv/linux/configure
+++ b/sysdeps/unix/sysv/linux/configure
@@ -224,65 +224,3 @@ ${ac_prefix}/include directory out of the way." 1>&2; exit 1; }
echo "$ac_t""ok" 1>&6
fi
fi
-
-case "$machine" in
- mips*)
- for ac_prog in $AS
-do
-# Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:236: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$AS"; then
- ac_cv_prog_AS="$AS" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
- ac_dummy="$PATH"
- for ac_dir in $ac_dummy; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_AS="$ac_prog"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-AS="$ac_cv_prog_AS"
-if test -n "$AS"; then
- echo "$ac_t""$AS" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-test -n "$AS" && break
-done
-
-if test -z "$AS"; then
- ac_verc_fail=yes
-else
- # Found it, now check the version.
- echo $ac_n "checking version of $AS""... $ac_c" 1>&6
-echo "configure:270: checking version of $AS" >&5
- ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\).*$/\1/p'`
- case $ac_prog_version in
- '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 2.11.90.0.[5-9]* | 2.11.90.[1-9]* | 2.11.9[1-9]* | 2.11.[1-9]* | 2.1[2-9]*| 2.[2-9]*)
- ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
-
- esac
- echo "$ac_t""$ac_prog_version" 1>&6
-fi
-if test $ac_verc_fail = yes; then
- echo "configure: warning: *** Your binutils versions are too old.
-*** We strongly advise to update binutils. For details check
-*** the FAQ and INSTALL documents." 1>&2
-fi
-
- ;;
-esac
-s%@AS@%$AS%g
diff --git a/sysdeps/unix/sysv/linux/configure.in b/sysdeps/unix/sysv/linux/configure.in
index 7337b9d..afe7982 100644
--- a/sysdeps/unix/sysv/linux/configure.in
+++ b/sysdeps/unix/sysv/linux/configure.in
@@ -191,14 +191,3 @@ ${ac_prefix}/include directory out of the way.])
AC_MSG_RESULT(ok)
fi
fi
-
-case "$machine" in
- mips*)
- AC_CHECK_PROG_VER(AS, $AS, --version,
- [GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\)],
- [2.11.90.0.[5-9]* | 2.11.90.[1-9]* | 2.11.9[1-9]* | 2.11.[1-9]* | 2.1[2-9]*| 2.[2-9]*],
- AC_MSG_WARN([*** Your binutils versions are too old.
-*** We strongly advise to update binutils. For details check
-*** the FAQ and INSTALL documents.]))
- ;;
-esac
diff --git a/sysdeps/unix/sysv/linux/mips/configure b/sysdeps/unix/sysv/linux/mips/configure
new file mode 100755
index 0000000..38a9374
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/configure
@@ -0,0 +1,59 @@
+ # Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+for ac_prog in $AS
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:9: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$AS" && break
+done
+
+if test -z "$AS"; then
+ ac_verc_fail=yes
+else
+ # Found it, now check the version.
+ echo $ac_n "checking version of $AS""... $ac_c" 1>&6
+echo "configure:43: checking version of $AS" >&5
+ ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 2.11.90.0.[5-9]* | 2.11.90.[1-9]* | 2.11.9[1-9]* | 2.11.[1-9]* | 2.1[2-9]*| 2.[2-9]*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+ esac
+ echo "$ac_t""$ac_prog_version" 1>&6
+fi
+if test $ac_verc_fail = yes; then
+ echo "configure: warning: *** Your binutils versions are too old.
+*** We strongly advise to update binutils. For details check
+*** the FAQ and INSTALL documents." 1>&2
+fi
+
+s%@AS@%$AS%g
diff --git a/sysdeps/unix/sysv/linux/mips/configure.in b/sysdeps/unix/sysv/linux/mips/configure.in
new file mode 100644
index 0000000..e5c301d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/mips/configure.in
@@ -0,0 +1,10 @@
+sinclude(./aclocal.m4)dnl Autoconf lossage
+GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+# Local configure fragment for sysdeps/unix/sysv/linux/mips.
+
+AC_CHECK_PROG_VER(AS, $AS, --version,
+ [GNU assembler.* \([0-9]*\.[0-9.]*\(-ia64-[0-9]*\)*\)],
+ [2.11.90.0.[5-9]* | 2.11.90.[1-9]* | 2.11.9[1-9]* | 2.11.[1-9]* | 2.1[2-9]*| 2.[2-9]*],
+AC_MSG_WARN([*** Your binutils versions are too old.
+*** We strongly advise to update binutils. For details check
+*** the FAQ and INSTALL documents.]))