1998-10-26 Ulrich Drepper <drepper@cygnus.com>
+ * include/libc-symbols.h: If HAVE_BUILTIN_EXPECT is not defined
+ define __builtin_expect as a macro substituting to the first
+ argument.
+ * config.h.in: Define HAVE_BUILTIN_EXPECT.
+ * configure.in: Add test for __builtin_expect.
+
* sysdeps/unix/sysv/linux/bits/types.h: Include
bits/pthreadtypes.h only not for POSIX 199506.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Likewise.
;;
esac
+echo $ac_n "checking for __builtin_expect""... $ac_c" 1>&6
+echo "configure:2688: checking for __builtin_expect" >&5
+if eval "test \"`echo '$''{'libc_cv_gcc_builtin_expect'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#line 2693 "configure"
+int foo (int a)
+{
+ a = __builtin_expect (a, 10);
+ return a == 10 ? 0 : 1;
+}
+EOF
+if { ac_try='${CC-cc} $CFLAGS -nostdlib -nostartfiles
+ -o conftest conftest.c -lgcc >&5'; { (eval echo configure:2701: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; then
+ libc_cv_gcc_builtin_expect=yes
+else
+ libc_cv_gcc_builtin_expect=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$libc_cv_gcc_builtin_expect" 1>&6
+if test "$libc_cv_gcc_builtin_expect" = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_BUILTIN_EXPECT 1
+EOF
+
+fi
+
### End of automated tests.
### Now run sysdeps configure fragments.
fi
echo $ac_n "checking OS release for uname""... $ac_c" 1>&6
-echo "configure:2732: checking OS release for uname" >&5
+echo "configure:2762: checking OS release for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_release'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
uname_release="$libc_cv_uname_release"
echo $ac_n "checking OS version for uname""... $ac_c" 1>&6
-echo "configure:2754: checking OS version for uname" >&5
+echo "configure:2784: checking OS version for uname" >&5
if eval "test \"`echo '$''{'libc_cv_uname_version'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
fi
echo $ac_n "checking stdio selection""... $ac_c" 1>&6
-echo "configure:2776: checking stdio selection" >&5
+echo "configure:2806: checking stdio selection" >&5
case $stdio in
libio) cat >> confdefs.h <<\EOF
# Test for old glibc 2.0.x headers so that they can be removed properly
# Search only in includedir.
echo $ac_n "checking for old glibc 2.0.x headers""... $ac_c" 1>&6
-echo "configure:2790: checking for old glibc 2.0.x headers" >&5
+echo "configure:2820: checking for old glibc 2.0.x headers" >&5
if eval test -f "${includedir}/elfclass.h" -a -f "${includedir}/fcntlbits.h"
then
old_glibc_headers=yes
fi
echo $ac_n "checking whether -fPIC is default""... $ac_c" 1>&6
-echo "configure:2844: checking whether -fPIC is default" >&5
+echo "configure:2874: checking whether -fPIC is default" >&5
if eval "test \"`echo '$''{'pic_default'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
;;
esac
+dnl Check whether compiler understands __builtin_expect.
+AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
+[cat > conftest.c <<EOF
+#line __oline__ "configure"
+int foo (int a)
+{
+ a = __builtin_expect (a, 10);
+ return a == 10 ? 0 : 1;
+}
+EOF
+dnl No \ in command here because it ends up inside ''.
+if AC_TRY_COMMAND([${CC-cc} $CFLAGS -nostdlib -nostartfiles
+ -o conftest conftest.c -lgcc >&AC_FD_CC]); then
+ libc_cv_gcc_builtin_expect=yes
+else
+ libc_cv_gcc_builtin_expect=no
+fi
+rm -f conftest*])
+if test "$libc_cv_gcc_builtin_expect" = yes; then
+ AC_DEFINE(HAVE_BUILTIN_EXPECT)
+fi
+
### End of automated tests.
### Now run sysdeps configure fragments.