summaryrefslogtreecommitdiff
path: root/patches/glibc/2.15
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.15')
-rw-r--r--patches/glibc/2.15/900-cpuid-include.patch548
-rw-r--r--patches/glibc/2.15/910-asm-i686.patch50
-rw-r--r--patches/glibc/2.15/990-try-link-static.patch171
-rw-r--r--patches/glibc/2.15/991-builtin_expect.patch82
-rw-r--r--patches/glibc/2.15/992-gcc_s-suffix.patch108
-rw-r--r--patches/glibc/2.15/999-new-tools.patch69
6 files changed, 1028 insertions, 0 deletions
diff --git a/patches/glibc/2.15/900-cpuid-include.patch b/patches/glibc/2.15/900-cpuid-include.patch
new file mode 100644
index 0000000..29edf7b
--- /dev/null
+++ b/patches/glibc/2.15/900-cpuid-include.patch
@@ -0,0 +1,548 @@
+[As applied to 2.15]
+
+This patch fixes another configure test issue when bootstrapping.
+sysdeps/i386/configure.in uses the obsolete AC_HEADER_CHECK macro to
+test for cpuid.h, and that macro tries to include various other
+standard headers (which come from the library, unlike cpuid.h which
+comes from the compiler, so aren't available when bootstrapping) in
+the test code it compiles. This patch changes the code to use
+AC_CHECK_HEADER, with the fourth argument used to prevent any default
+includes being used in the test.
+
+Tested x86_64 (native).
+
+2012-03-07 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/i386/configure.in (cpuid.h): Use AC_CHECK_HEADER with no
+ default includes instead of AC_HEADER_CHECK.
+ * sysdeps/i386/configure: Regenerated.
+
+Origin: http://sourceware.org/ml/libc-alpha/2012-03/msg00177.html
+
+diff -urpN '--exclude=autom4te.cache' glibc-2.15.orig/sysdeps/i386/configure glibc-2.15/sysdeps/i386/configure
+--- glibc-2.15.orig/sysdeps/i386/configure 2017-02-08 14:28:19.947516097 -0800
++++ glibc-2.15/sysdeps/i386/configure 2017-02-08 17:25:19.756462280 -0800
+@@ -16,23 +16,6 @@ as_fn_exit ()
+ as_fn_set_status $1
+ exit $1
+ } # as_fn_exit
+-# as_fn_arith ARG...
+-# ------------------
+-# Perform arithmetic evaluation on the ARGs, and store the result in the
+-# global $as_val. Take advantage of shells that can avoid forks. The arguments
+-# must be portable across $(()) and expr.
+-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+- eval 'as_fn_arith ()
+- {
+- as_val=$(( $* ))
+- }'
+-else
+- as_fn_arith ()
+- {
+- as_val=`expr "$@" || test $? -eq 1`
+- }
+-fi # as_fn_arith
+-
+ if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+@@ -97,42 +80,6 @@ $as_echo X/"$0" |
+ exit
+ }
+
+-# Factoring default headers for most tests.
+-ac_includes_default="\
+-#include <stdio.h>
+-#ifdef HAVE_SYS_TYPES_H
+-# include <sys/types.h>
+-#endif
+-#ifdef HAVE_SYS_STAT_H
+-# include <sys/stat.h>
+-#endif
+-#ifdef STDC_HEADERS
+-# include <stdlib.h>
+-# include <stddef.h>
+-#else
+-# ifdef HAVE_STDLIB_H
+-# include <stdlib.h>
+-# endif
+-#endif
+-#ifdef HAVE_STRING_H
+-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+-# include <memory.h>
+-# endif
+-# include <string.h>
+-#endif
+-#ifdef HAVE_STRINGS_H
+-# include <strings.h>
+-#endif
+-#ifdef HAVE_INTTYPES_H
+-# include <inttypes.h>
+-#endif
+-#ifdef HAVE_STDINT_H
+-# include <stdint.h>
+-#endif
+-#ifdef HAVE_UNISTD_H
+-# include <unistd.h>
+-#endif"
+-
+
+ # ac_fn_c_try_compile LINENO
+ # --------------------------
+@@ -172,172 +119,6 @@ fi
+
+ } # ac_fn_c_try_compile
+
+-# ac_fn_c_try_cpp LINENO
+-# ----------------------
+-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+-ac_fn_c_try_cpp ()
+-{
+- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- if { { ac_try="$ac_cpp conftest.$ac_ext"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+-$as_echo "$ac_try_echo"; } >&5
+- (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+- ac_status=$?
+- if test -s conftest.err; then
+- grep -v '^ *+' conftest.err >conftest.er1
+- cat conftest.er1 >&5
+- mv -f conftest.er1 conftest.err
+- fi
+- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; } > conftest.i && {
+- test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+- test ! -s conftest.err
+- }; then :
+- ac_retval=0
+-else
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_retval=1
+-fi
+- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+- as_fn_set_status $ac_retval
+-
+-} # ac_fn_c_try_cpp
+-
+-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+-# -------------------------------------------------------
+-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+-# the include files in INCLUDES and setting the cache variable VAR
+-# accordingly.
+-ac_fn_c_check_header_mongrel ()
+-{
+- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- if eval \${$3+:} false; then :
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+-$as_echo_n "checking for $2... " >&6; }
+-if eval \${$3+:} false; then :
+- $as_echo_n "(cached) " >&6
+-fi
+-eval ac_res=\$$3
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+-$as_echo "$ac_res" >&6; }
+-else
+- # Is the header compilable?
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+-$as_echo_n "checking $2 usability... " >&6; }
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-$4
+-#include <$2>
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+- ac_header_compiler=yes
+-else
+- ac_header_compiler=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+-$as_echo "$ac_header_compiler" >&6; }
+-
+-# Is the header present?
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+-$as_echo_n "checking $2 presence... " >&6; }
+-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <$2>
+-_ACEOF
+-if ac_fn_c_try_cpp "$LINENO"; then :
+- ac_header_preproc=yes
+-else
+- ac_header_preproc=no
+-fi
+-rm -f conftest.err conftest.i conftest.$ac_ext
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+-$as_echo "$ac_header_preproc" >&6; }
+-
+-# So? What about this header?
+-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+- yes:no: )
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+- ;;
+- no:yes:* )
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+-$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+-$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+- ;;
+-esac
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+-$as_echo_n "checking for $2... " >&6; }
+-if eval \${$3+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- eval "$3=\$ac_header_compiler"
+-fi
+-eval ac_res=\$$3
+- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+-$as_echo "$ac_res" >&6; }
+-fi
+- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+-
+-} # ac_fn_c_check_header_mongrel
+-
+-# ac_fn_c_try_run LINENO
+-# ----------------------
+-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+-# that executables *can* be run.
+-ac_fn_c_try_run ()
+-{
+- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+- if { { ac_try="$ac_link"
+-case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+-$as_echo "$ac_try_echo"; } >&5
+- (eval "$ac_link") 2>&5
+- ac_status=$?
+- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+- { { case "(($ac_try" in
+- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+- *) ac_try_echo=$ac_try;;
+-esac
+-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+-$as_echo "$ac_try_echo"; } >&5
+- (eval "$ac_try") 2>&5
+- ac_status=$?
+- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; }; }; then :
+- ac_retval=0
+-else
+- $as_echo "$as_me: program exited with status $ac_status" >&5
+- $as_echo "$as_me: failed program was:" >&5
+-sed 's/^/| /' conftest.$ac_ext >&5
+-
+- ac_retval=$ac_status
+-fi
+- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+- as_fn_set_status $ac_retval
+-
+-} # ac_fn_c_try_run
+-
+ # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+ # -------------------------------------------------------
+ # Tests whether HEADER exists and can be compiled using the include files in
+@@ -372,267 +153,8 @@ $as_echo "$ac_res" >&6; }
+ # Local configure fragment for sysdeps/i386.
+
+
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+-if ${ac_cv_path_GREP+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if test -z "$GREP"; then
+- ac_path_GREP_found=false
+- # Loop through the user's path and test for each of PROGNAME-LIST
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_prog in grep ggrep; do
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+-# Check for GNU ac_path_GREP and select it if it is found.
+- # Check for GNU $ac_path_GREP
+-case `"$ac_path_GREP" --version 2>&1` in
+-*GNU*)
+- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+-*)
+- ac_count=0
+- $as_echo_n 0123456789 >"conftest.in"
+- while :
+- do
+- cat "conftest.in" "conftest.in" >"conftest.tmp"
+- mv "conftest.tmp" "conftest.in"
+- cp "conftest.in" "conftest.nl"
+- $as_echo 'GREP' >> "conftest.nl"
+- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+- as_fn_arith $ac_count + 1 && ac_count=$as_val
+- if test $ac_count -gt ${ac_path_GREP_max-0}; then
+- # Best one so far, save it but keep looking for a better one
+- ac_cv_path_GREP="$ac_path_GREP"
+- ac_path_GREP_max=$ac_count
+- fi
+- # 10*(2^10) chars as input seems more than enough
+- test $ac_count -gt 10 && break
+- done
+- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+-esac
+-
+- $ac_path_GREP_found && break 3
+- done
+- done
+- done
+-IFS=$as_save_IFS
+- if test -z "$ac_cv_path_GREP"; then
+- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+- fi
+-else
+- ac_cv_path_GREP=$GREP
+-fi
+-
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+-$as_echo "$ac_cv_path_GREP" >&6; }
+- GREP="$ac_cv_path_GREP"
+-
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+-$as_echo_n "checking for egrep... " >&6; }
+-if ${ac_cv_path_EGREP+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+- then ac_cv_path_EGREP="$GREP -E"
+- else
+- if test -z "$EGREP"; then
+- ac_path_EGREP_found=false
+- # Loop through the user's path and test for each of PROGNAME-LIST
+- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+-do
+- IFS=$as_save_IFS
+- test -z "$as_dir" && as_dir=.
+- for ac_prog in egrep; do
+- for ac_exec_ext in '' $ac_executable_extensions; do
+- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+-# Check for GNU ac_path_EGREP and select it if it is found.
+- # Check for GNU $ac_path_EGREP
+-case `"$ac_path_EGREP" --version 2>&1` in
+-*GNU*)
+- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+-*)
+- ac_count=0
+- $as_echo_n 0123456789 >"conftest.in"
+- while :
+- do
+- cat "conftest.in" "conftest.in" >"conftest.tmp"
+- mv "conftest.tmp" "conftest.in"
+- cp "conftest.in" "conftest.nl"
+- $as_echo 'EGREP' >> "conftest.nl"
+- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+- as_fn_arith $ac_count + 1 && ac_count=$as_val
+- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+- # Best one so far, save it but keep looking for a better one
+- ac_cv_path_EGREP="$ac_path_EGREP"
+- ac_path_EGREP_max=$ac_count
+- fi
+- # 10*(2^10) chars as input seems more than enough
+- test $ac_count -gt 10 && break
+- done
+- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+-esac
+-
+- $ac_path_EGREP_found && break 3
+- done
+- done
+- done
+-IFS=$as_save_IFS
+- if test -z "$ac_cv_path_EGREP"; then
+- as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+- fi
+-else
+- ac_cv_path_EGREP=$EGREP
+-fi
+-
+- fi
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+-$as_echo "$ac_cv_path_EGREP" >&6; }
+- EGREP="$ac_cv_path_EGREP"
+-
+-
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+-$as_echo_n "checking for ANSI C header files... " >&6; }
+-if ${ac_cv_header_stdc+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <stdlib.h>
+-#include <stdarg.h>
+-#include <string.h>
+-#include <float.h>
+-
+-int
+-main ()
+-{
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_compile "$LINENO"; then :
+- ac_cv_header_stdc=yes
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+-
+-if test $ac_cv_header_stdc = yes; then
+- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <string.h>
+-
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "memchr" >/dev/null 2>&1; then :
+-
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest*
+-
+-fi
+-
+-if test $ac_cv_header_stdc = yes; then
+- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <stdlib.h>
+-
+-_ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "free" >/dev/null 2>&1; then :
+-
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -f conftest*
+-
+-fi
+-
+-if test $ac_cv_header_stdc = yes; then
+- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+- if test "$cross_compiling" = yes; then :
+- :
+-else
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
+-#include <ctype.h>
+-#include <stdlib.h>
+-#if ((' ' & 0x0FF) == 0x020)
+-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+-#else
+-# define ISLOWER(c) \
+- (('a' <= (c) && (c) <= 'i') \
+- || ('j' <= (c) && (c) <= 'r') \
+- || ('s' <= (c) && (c) <= 'z'))
+-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+-#endif
+-
+-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+-int
+-main ()
+-{
+- int i;
+- for (i = 0; i < 256; i++)
+- if (XOR (islower (i), ISLOWER (i))
+- || toupper (i) != TOUPPER (i))
+- return 2;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_run "$LINENO"; then :
+-
+-else
+- ac_cv_header_stdc=no
+-fi
+-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+- conftest.$ac_objext conftest.beam conftest.$ac_ext
+-fi
+-
+-fi
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+-$as_echo "$ac_cv_header_stdc" >&6; }
+-if test $ac_cv_header_stdc = yes; then
+-
+-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+-
+-fi
+-
+-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+- inttypes.h stdint.h unistd.h
+-do :
+- as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
++ac_fn_c_check_header_compile "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "/* No default includes. */
+ "
+-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+- cat >>confdefs.h <<_ACEOF
+-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+-_ACEOF
+-
+-fi
+-
+-done
+-
+-
+-ac_fn_c_check_header_mongrel "$LINENO" "cpuid.h" "ac_cv_header_cpuid_h" "$ac_includes_default"
+ if test "x$ac_cv_header_cpuid_h" = xyes; then :
+
+ else
+diff -urpN '--exclude=autom4te.cache' glibc-2.15.orig/sysdeps/i386/configure.in glibc-2.15/sysdeps/i386/configure.in
+--- glibc-2.15.orig/sysdeps/i386/configure.in 2017-02-08 14:28:19.951516034 -0800
++++ glibc-2.15/sysdeps/i386/configure.in 2017-02-08 17:24:29.995973278 -0800
+@@ -1,8 +1,9 @@
+ GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory.
+ # Local configure fragment for sysdeps/i386.
+
+-AC_HEADER_CHECK([cpuid.h], ,
+- [AC_MSG_ERROR([gcc must provide the <cpuid.h> header])])
++AC_CHECK_HEADER([cpuid.h], ,
++ [AC_MSG_ERROR([gcc must provide the <cpuid.h> header])],
++ [/* No default includes. */])
+
+ AC_CACHE_CHECK(if -g produces usable source locations for assembler-with-cpp,
+ libc_cv_cpp_asm_debuginfo, [dnl
diff --git a/patches/glibc/2.15/910-asm-i686.patch b/patches/glibc/2.15/910-asm-i686.patch
new file mode 100644
index 0000000..b049887
--- /dev/null
+++ b/patches/glibc/2.15/910-asm-i686.patch
@@ -0,0 +1,50 @@
+Submitted By: Matt Burgess <matthew_at_linuxfromscratch_dot_org>
+Date: 2010-04-18
+Initial Package Version: 2.11.1
+Upstream Status: Not Submitted
+Origin: http://www.eglibc.org/archives/patches/msg00073.html
+Description: Fixes the following build problem with GCC-4.5.0:
+
+/mnt/lfs/sources/libc-build/math/s_frexp.os.dt -MT /mnt/lfs/sources/libc-build/math/s_frexp.os
+./sysdeps/i386/fpu/s_frexp.S: Assembler messages:
+./sysdeps/i386/fpu/s_frexp.S:66: Error: invalid identifier for ".ifdef"
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `.'
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk at end of line, first unrecognized character is `1'
+./sysdeps/i386/fpu/s_frexp.S:66: Error: expected comma after name `' in .size directive
+./sysdeps/i386/fpu/s_frexp.S:66: Error: ".endif" without ".if"
+./sysdeps/i386/fpu/s_frexp.S:66: Error: junk `.get_pc_thunk.dx' after expression
+make[2]: *** [/mnt/lfs/sources/libc-build/math/s_frexp.os] Error 1
+
+diff -Naur glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c
+--- glibc-2.11.1.orig/nptl/sysdeps/pthread/pt-initfini.c 2009-12-08 20:10:20.000000000 +0000
++++ glibc-2.11.1/nptl/sysdeps/pthread/pt-initfini.c 2010-04-17 11:34:06.882681001 +0000
+@@ -45,6 +45,11 @@
+ /* Embed an #include to pull in the alignment and .end directives. */
+ asm ("\n#include \"defs.h\"");
+
++asm ("\n#if defined __i686 && defined __ASSEMBLER__");
++asm ("\n#undef __i686");
++asm ("\n#define __i686 __i686");
++asm ("\n#endif");
++
+ /* The initial common code ends here. */
+ asm ("\n/*@HEADER_ENDS*/");
+
+diff -Naur glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h
+--- glibc-2.11.1.orig/sysdeps/unix/sysv/linux/i386/sysdep.h 2009-12-08 20:10:20.000000000 +0000
++++ glibc-2.11.1/sysdeps/unix/sysv/linux/i386/sysdep.h 2010-04-17 11:34:06.882681001 +0000
+@@ -29,6 +29,10 @@
+ #include <dl-sysdep.h>
+ #include <tls.h>
+
++#if defined __i686 && defined __ASSEMBLER__
++#undef __i686
++#define __i686 __i686
++#endif
+
+ /* For Linux we can use the system call table in the header file
+ /usr/include/asm/unistd.h
+
diff --git a/patches/glibc/2.15/990-try-link-static.patch b/patches/glibc/2.15/990-try-link-static.patch
new file mode 100644
index 0000000..a0ffadd
--- /dev/null
+++ b/patches/glibc/2.15/990-try-link-static.patch
@@ -0,0 +1,171 @@
+[Patch modified to apply to 2.15]
+
+commit 07037eeb43ca1e0ac2802e3a1492cecf869c63c6
+Author: Joseph Myers <joseph@codesourcery.com>
+Date: Thu Mar 8 00:17:27 2012 +0000
+
+ Fix .ctors/.dtors header configure test for bootstrapping.
+
+diff -urpN glibc-2.15.orig/aclocal.m4 glibc-2.15/aclocal.m4
+--- glibc-2.15.orig/aclocal.m4 2017-02-08 11:27:28.445657746 -0800
++++ glibc-2.15/aclocal.m4 2017-02-08 11:37:25.818463475 -0800
+@@ -114,3 +114,17 @@ AC_CACHE_CHECK(whether $LD is GNU ld, li
+ [LIBC_PROG_FOO_GNU($LD, libc_cv_prog_ld_gnu=yes, libc_cv_prog_ld_gnu=no)])
+ gnu_ld=$libc_cv_prog_ld_gnu
+ ])
++
++dnl Run a static link test with -nostdlib -nostartfiles.
++dnl LIBC_TRY_LINK_STATIC([code], [action-if-true], [action-if-false])
++AC_DEFUN([LIBC_TRY_LINK_STATIC],
++[cat > conftest.c <<EOF
++int _start (void) { return 0; }
++int __start (void) { return 0; }
++$1
++EOF
++AS_IF([AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
++ conftest.c -static -nostartfiles -nostdlib
++ 1>&AS_MESSAGE_LOG_FD])],
++ [$2], [$3])
++rm -f conftest*])
+diff -urpN glibc-2.15.orig/configure glibc-2.15/configure
+--- glibc-2.15.orig/configure 2017-02-08 11:27:28.453657802 -0800
++++ glibc-2.15/configure 2017-02-08 11:47:36.184360147 -0800
+@@ -6147,29 +6147,32 @@ $as_echo_n "checking for .preinit_array/
+ if ${libc_cv_initfini_array+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+- cat > conftest.c <<EOF
++ cat > conftest.c <<EOF
+ int _start (void) { return 0; }
+ int __start (void) { return 0; }
++
+ int foo (void) { return 1; }
+ int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
++
+ EOF
+- if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
+- -static -nostartfiles -nostdlib 1>&5'
++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
++ conftest.c -static -nostartfiles -nostdlib
++ 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; }; }
+- then
+- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
+- libc_cv_initfini_array=yes
+- else
+- libc_cv_initfini_array=no
+- fi
++ test $ac_status = 0; }; }; then :
++ if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
++ libc_cv_initfini_array=yes
+ else
+ libc_cv_initfini_array=no
+ fi
+- rm -f conftest*
++else
++ libc_cv_initfini_array=no
++fi
++rm -f conftest*
++
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_initfini_array" >&5
+ $as_echo "$libc_cv_initfini_array" >&6; }
+@@ -6183,21 +6186,22 @@ if ${libc_cv_ctors_header+:} false; then
+ $as_echo_n "(cached) " >&6
+ else
+ libc_cv_ctors_header=yes
+- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+-/* end confdefs.h. */
++ cat > conftest.c <<EOF
++int _start (void) { return 0; }
++int __start (void) { return 0; }
++
++__attribute__ ((constructor)) void ctor (void) { asm (""); }
++__attribute__ ((destructor)) void dtor (void) { asm (""); }
+
+-int
+-main ()
+-{
+-
+-__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
+-__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
+-
+- ;
+- return 0;
+-}
+-_ACEOF
+-if ac_fn_c_try_link "$LINENO"; then :
++EOF
++if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest
++ conftest.c -static -nostartfiles -nostdlib
++ 1>&5'
++ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
++ test $ac_status = 0; }; }; then :
+ if $READELF -WS conftest$ac_exeext | $AWK '
+ { gsub(/\[ */, "[") }
+ $2 == ".ctors" || $2 == ".dtors" {
+@@ -6219,8 +6223,7 @@ else
+ as_fn_error $? "missing __attribute__ ((constructor)) support??" "$LINENO" 5
+
+ fi
+-rm -f core conftest.err conftest.$ac_objext \
+- conftest$ac_exeext conftest.$ac_ext
++rm -f conftest*
+
+ fi
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_ctors_header" >&5
+diff -urpN glibc-2.15.orig/configure.in glibc-2.15/configure.in
+--- glibc-2.15.orig/configure.in 2017-02-08 11:27:28.433657663 -0800
++++ glibc-2.15/configure.in 2017-02-08 11:46:58.994915812 -0800
+@@ -1439,24 +1439,17 @@ EOF
+
+ AC_CACHE_CHECK(for .preinit_array/.init_array/.fini_array support,
+ libc_cv_initfini_array, [dnl
+- cat > conftest.c <<EOF
+-int _start (void) { return 0; }
+-int __start (void) { return 0; }
++LIBC_TRY_LINK_STATIC([
+ int foo (void) { return 1; }
+ int (*fp) (void) __attribute__ ((section (".init_array"))) = foo;
+-EOF
+- if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -o conftest conftest.c
+- -static -nostartfiles -nostdlib 1>&AS_MESSAGE_LOG_FD])
+- then
+- if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
+- libc_cv_initfini_array=yes
+- else
+- libc_cv_initfini_array=no
+- fi
++],
++ [if $READELF -S conftest | fgrep INIT_ARRAY > /dev/null; then
++ libc_cv_initfini_array=yes
+ else
+ libc_cv_initfini_array=no
+- fi
+- rm -f conftest*])
++ fi],
++ [libc_cv_initfini_array=no])
++])
+ if test $libc_cv_initfini_array != yes; then
+ AC_MSG_ERROR([Need linker with .init_array/.fini_array support.])
+ fi
+@@ -1464,9 +1457,9 @@ EOF
+ AC_CACHE_CHECK(whether to use .ctors/.dtors header and trailer,
+ libc_cv_ctors_header, [dnl
+ libc_cv_ctors_header=yes
+- AC_TRY_LINK([], [
+-__attribute__ ((constructor)) void ctor (void) { puts("ctor"); }
+-__attribute__ ((destructor)) void dtor (void) { puts("dtor"); }
++ LIBC_TRY_LINK_STATIC([
++__attribute__ ((constructor)) void ctor (void) { asm (""); }
++__attribute__ ((destructor)) void dtor (void) { asm (""); }
+ ],
+ [dnl
+ AS_IF([$READELF -WS conftest$ac_exeext | $AWK '
diff --git a/patches/glibc/2.15/991-builtin_expect.patch b/patches/glibc/2.15/991-builtin_expect.patch
new file mode 100644
index 0000000..8a327fa
--- /dev/null
+++ b/patches/glibc/2.15/991-builtin_expect.patch
@@ -0,0 +1,82 @@
+[As applied to 2.15]
+
+commit 3857022a761ea7251f8e5c0e45d382ebc3e34cf9
+Author: Ulrich Drepper <drepper@gmail.com>
+Date: Sun Jan 8 09:21:09 2012 -0500
+
+ No need for test for __builtin_expect
+
+diff -urpN glibc-2.15.orig/configure glibc-2.15/configure
+--- glibc-2.15.orig/configure 2017-02-08 12:47:52.580858002 -0800
++++ glibc-2.15/configure 2017-02-08 13:01:40.682870318 -0800
+@@ -7185,38 +7185,6 @@ if test "$libc_cv_c_asmcr0_bug" != 'no';
+ fi
+ fi
+
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_expect" >&5
+-$as_echo_n "checking for __builtin_expect... " >&6; }
+-if ${libc_cv_gcc_builtin_expect+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- cat > conftest.c <<EOF
+-#line $LINENO "configure"
+-int foo (int a)
+-{
+- a = __builtin_expect (a, 10);
+- return a == 10 ? 0 : 1;
+-}
+-EOF
+-if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
+- -o conftest conftest.c -lgcc >&5'
+- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+- (eval $ac_try) 2>&5
+- ac_status=$?
+- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+- test $ac_status = 0; }; }; then
+- libc_cv_gcc_builtin_expect=yes
+-else
+- libc_cv_gcc_builtin_expect=no
+-fi
+-rm -f conftest*
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_gcc_builtin_expect" >&5
+-$as_echo "$libc_cv_gcc_builtin_expect" >&6; }
+-if test "$libc_cv_gcc_builtin_expect" = no; then
+- as_fn_error $? "support for __builtin_expect needed" "$LINENO" 5
+-fi
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_memset" >&5
+ $as_echo_n "checking for __builtin_memset... " >&6; }
+ if ${libc_cv_gcc_builtin_memset+:} false; then :
+diff -urpN glibc-2.15.orig/configure.in glibc-2.15/configure.in
+--- glibc-2.15.orig/configure.in 2017-02-08 12:47:52.580858002 -0800
++++ glibc-2.15/configure.in 2017-02-08 13:01:17.638580410 -0800
+@@ -2098,28 +2098,6 @@ if test "$libc_cv_c_asmcr0_bug" != 'no';
+ fi
+ fi
+
+-dnl Check whether compiler understands __builtin_expect.
+-AC_CACHE_CHECK(for __builtin_expect, libc_cv_gcc_builtin_expect,
+-[cat > conftest.c <<EOF
+-#line $LINENO "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 $CPPFLAGS $LDFLAGS -nostdlib -nostartfiles
+- -o conftest conftest.c -lgcc >&AS_MESSAGE_LOG_FD]); 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" = no; then
+- AC_MSG_ERROR([support for __builtin_expect needed])
+-fi
+-
+ AC_CACHE_CHECK(for __builtin_memset, libc_cv_gcc_builtin_memset, [dnl
+ cat > conftest.c <<\EOF
+ void zero (void *x)
diff --git a/patches/glibc/2.15/992-gcc_s-suffix.patch b/patches/glibc/2.15/992-gcc_s-suffix.patch
new file mode 100644
index 0000000..6dbc70f
--- /dev/null
+++ b/patches/glibc/2.15/992-gcc_s-suffix.patch
@@ -0,0 +1,108 @@
+[As applied to 2.15]
+commit 3a533ca370725b68b516e6b74adf4727d17ed28a
+Author: Joseph Myers <joseph@codesourcery.com>
+Date: Tue Apr 24 10:22:45 2012 +0000
+
+ Don't handle libgcc_s suffixes.
+
+diff -urpN glibc-2.15.orig/config.make.in glibc-2.15/config.make.in
+--- glibc-2.15.orig/config.make.in 2017-02-08 13:24:23.338055977 -0800
++++ glibc-2.15/config.make.in 2017-02-08 13:25:21.810625337 -0800
+@@ -50,7 +50,6 @@ have-z-execstack = @libc_cv_z_execstack@
+ have-initfini = @libc_cv_have_initfini@
+ have-Bgroup = @libc_cv_Bgroup@
+ have-as-needed = @libc_cv_as_needed@
+-libgcc_s_suffix = @libc_cv_libgcc_s_suffix@
+ need-nopic-initfini = @nopic_initfini@
+ with-fp = @with_fp@
+ old-glibc-headers = @old_glibc_headers@
+diff -urpN glibc-2.15.orig/configure glibc-2.15/configure
+--- glibc-2.15.orig/configure 2017-02-08 13:24:23.346056054 -0800
++++ glibc-2.15/configure 2017-02-08 13:27:07.327670602 -0800
+@@ -654,7 +654,6 @@ libc_cv_z_execstack
+ libc_cv_z_combreloc
+ ASFLAGS_config
+ libc_cv_as_needed
+-libc_cv_libgcc_s_suffix
+ libc_cv_Bgroup
+ libc_cv_cc_with_libunwind
+ VERSIONING
+@@ -6465,24 +6464,6 @@ fi
+ $as_echo "$libc_cv_Bgroup" >&6; }
+
+
+- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libgcc_s suffix" >&5
+-$as_echo_n "checking for libgcc_s suffix... " >&6; }
+-if ${libc_cv_libgcc_s_suffix+:} false; then :
+- $as_echo_n "(cached) " >&6
+-else
+- cat > conftest.c <<EOF
+-int main (void) { return 0; }
+-EOF
+- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+- -fPIC -shared -shared-libgcc -o conftest.so \
+- conftest.c -v 2>&1 >/dev/null \
+- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
+- rm -f conftest*
+-fi
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_libgcc_s_suffix" >&5
+-$as_echo "$libc_cv_libgcc_s_suffix" >&6; }
+-
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed option" >&5
+ $as_echo_n "checking for --as-needed option... " >&6; }
+ if ${libc_cv_as_needed+:} false; then :
+@@ -6493,7 +6474,7 @@ int main (void) { return 0; }
+ EOF
+ if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+- -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
++ -lgcc_s -Wl,--as-needed
+ -nostdlib 1>&5'
+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ (eval $ac_try) 2>&5
+diff -urpN glibc-2.15.orig/configure.in glibc-2.15/configure.in
+--- glibc-2.15.orig/configure.in 2017-02-08 13:24:23.346056054 -0800
++++ glibc-2.15/configure.in 2017-02-08 13:26:44.383441535 -0800
+@@ -1639,20 +1639,6 @@ EOF
+ rm -f conftest*])
+ AC_SUBST(libc_cv_Bgroup)
+
+- AC_CACHE_CHECK(for libgcc_s suffix,
+- libc_cv_libgcc_s_suffix, [dnl
+- cat > conftest.c <<EOF
+-int main (void) { return 0; }
+-EOF
+-changequote(,)dnl
+- libc_cv_libgcc_s_suffix=`${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS \
+- -fPIC -shared -shared-libgcc -o conftest.so \
+- conftest.c -v 2>&1 >/dev/null \
+- | sed -n 's/^.* -lgcc_s\([^ ]*\) .*$/\1/p'`
+-changequote([,])dnl
+- rm -f conftest*])
+- AC_SUBST(libc_cv_libgcc_s_suffix)
+-
+ AC_CACHE_CHECK(for --as-needed option,
+ libc_cv_as_needed, [dnl
+ cat > conftest.c <<EOF
+@@ -1660,7 +1646,7 @@ int main (void) { return 0; }
+ EOF
+ if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
+ -fPIC -shared -o conftest.so conftest.c
+- -lgcc_s$libc_cv_libgcc_s_suffix -Wl,--as-needed
++ -lgcc_s -Wl,--as-needed
+ -nostdlib 1>&AS_MESSAGE_LOG_FD])
+ then
+ libc_cv_as_needed=yes
+diff -urpN glibc-2.15.orig/Makeconfig glibc-2.15/Makeconfig
+--- glibc-2.15.orig/Makeconfig 2017-02-08 13:24:23.338055977 -0800
++++ glibc-2.15/Makeconfig 2017-02-08 13:24:31.262132679 -0800
+@@ -565,7 +565,7 @@ endif
+ ifneq ($(have-as-needed),yes)
+ libgcc_eh := -lgcc_eh $(libunwind)
+ else
+- libgcc_eh := -Wl,--as-needed -lgcc_s$(libgcc_s_suffix) $(libunwind) -Wl,--no-as-needed
++ libgcc_eh := -Wl,--as-needed -lgcc_s $(libunwind) -Wl,--no-as-needed
+ endif
+ gnulib := -lgcc $(libgcc_eh)
+ static-gnulib := -lgcc -lgcc_eh $(libunwind)
diff --git a/patches/glibc/2.15/999-new-tools.patch b/patches/glibc/2.15/999-new-tools.patch
new file mode 100644
index 0000000..e0632a3
--- /dev/null
+++ b/patches/glibc/2.15/999-new-tools.patch
@@ -0,0 +1,69 @@
+diff -urpN glibc-2.15.orig/configure glibc-2.15/configure
+--- glibc-2.15.orig/configure 2012-03-19 07:56:58.000000000 -0700
++++ glibc-2.15/configure 2017-02-08 00:38:53.578049806 -0800
+@@ -4922,7 +4922,7 @@ $as_echo_n "checking version of $CC... "
+ ac_prog_version=`$CC -v 2>&1 | sed -n 's/^.*version \([egcygnustpi-]*[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+- 3.4* | 4.[0-9]* )
++ 3.4* | [4-9].* )
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+@@ -4985,7 +4985,7 @@ $as_echo_n "checking version of $MAKE...
+ ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+- 3.79* | 3.[89]*)
++ 3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+@@ -5112,7 +5112,7 @@ $as_echo_n "checking version of $MAKEINF
+ ac_prog_version=`$MAKEINFO --version 2>&1 | sed -n 's/^.*GNU texinfo.* \([0-9][0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+- 4.*)
++ [4-9].*)
+ ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
+ *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
+
+@@ -5172,7 +5172,7 @@ else
+ # Found it, now check the version.
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking version of $SED" >&5
+ $as_echo_n "checking version of $SED... " >&6; }
+- ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed version \([0-9]*\.[0-9.]*\).*$/\1/p'`
++ ac_prog_version=`$SED --version 2>&1 | sed -n 's/^.*GNU sed[^0-9]* \([0-9]*\.[0-9.]*\).*$/\1/p'`
+ case $ac_prog_version in
+ '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
+ 3.0[2-9]*|3.[1-9]*|[4-9]*)
+diff -urpN glibc-2.15.orig/configure.in glibc-2.15/configure.in
+--- glibc-2.15.orig/configure.in 2012-01-01 04:16:32.000000000 -0800
++++ glibc-2.15/configure.in 2017-02-08 00:30:47.440841480 -0800
+@@ -1000,11 +1000,11 @@ fi
+ # These programs are version sensitive.
+ AC_CHECK_TOOL_PREFIX
+ AC_CHECK_PROG_VER(CC, ${ac_tool_prefix}gcc ${ac_tool_prefix}cc, -v,
+- [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | 4.[0-9]* ],
++ [version \([egcygnustpi-]*[0-9.]*\)], [3.4* | [4-9].* ],
+ critic_missing="$critic_missing gcc")
+ AC_CHECK_PROG_VER(MAKE, gnumake gmake make, --version,
+ [GNU Make[^0-9]*\([0-9][0-9.]*\)],
+- [3.79* | 3.[89]*], critic_missing="$critic_missing make")
++ [3.79* | 3.[89]* | [4-9].* | [1-9][0-9]*], critic_missing="$critic_missing make")
+
+ AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsgfmt msgfmt, --version,
+ [GNU gettext.* \([0-9]*\.[0-9.]*\)],
+@@ -1012,10 +1012,10 @@ AC_CHECK_PROG_VER(MSGFMT, gnumsgfmt gmsg
+ MSGFMT=: aux_missing="$aux_missing msgfmt")
+ AC_CHECK_PROG_VER(MAKEINFO, makeinfo, --version,
+ [GNU texinfo.* \([0-9][0-9.]*\)],
+- [4.*],
++ [[4-9].*],
+ MAKEINFO=: aux_missing="$aux_missing makeinfo")
+ AC_CHECK_PROG_VER(SED, sed, --version,
+- [GNU sed version \([0-9]*\.[0-9.]*\)],
++ [GNU sed[^0-9]* \([0-9]*\.[0-9.]*\)],
+ [3.0[2-9]*|3.[1-9]*|[4-9]*],
+ SED=: aux_missing="$aux_missing sed")
+