* 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>
This commit is contained in:
Andreas Jaeger 2001-05-11 16:48:44 +00:00
parent a26e67d3f1
commit 02eca23b08
6 changed files with 98 additions and 97 deletions

View File

@ -1,3 +1,8 @@
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

48
FAQ
View File

@ -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.
- 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.
- 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).
- 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.
- 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

View File

@ -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

View File

@ -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

59
sysdeps/unix/sysv/linux/mips/configure vendored Executable file
View File

@ -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

View File

@ -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.]))