Patchwork [7/7] Fix ffsb ftbfs on arm64 and cross-compiled environment

login
register
mail settings
Submitter Fathi Boudra
Date Jan. 17, 2014, 9:57 p.m.
Message ID <1389995824-9066-8-git-send-email-fathi.boudra@linaro.org>
Download mbox | patch
Permalink /patch/65125/
State New
Headers show

Comments

Fathi Boudra - Jan. 17, 2014, 9:57 p.m.
Add ffsb-arm64.patch:
 - get rid of the hardcoded configure call preventing cross-compilation
  - update config.guess/config.sub to add aarch64 supported
Add do_configure_prepend to explicitly force regeneration the configure
file and pass configure options as appropriate.

Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
---
 meta/recipes-extended/ltp/ltp/ffsb-arm64.patch | 1412 ++++++++++++++++++++++++
 meta/recipes-extended/ltp/ltp_20140115.bb      |    7 +
 2 files changed, 1419 insertions(+)
 create mode 100644 meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
Ross Burton - Jan. 20, 2014, 9:33 a.m.
For this and others in the series: don't forget to put the recipe name
in the short log.

Do we really need to patch config.sub/guess, why can't we update those
at do_configure time globally?

Ross

On 17 January 2014 21:57, Fathi Boudra <fathi.boudra@linaro.org> wrote:
> Add ffsb-arm64.patch:
>  - get rid of the hardcoded configure call preventing cross-compilation
>   - update config.guess/config.sub to add aarch64 supported
> Add do_configure_prepend to explicitly force regeneration the configure
> file and pass configure options as appropriate.
>
> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
> ---
>  meta/recipes-extended/ltp/ltp/ffsb-arm64.patch | 1412 ++++++++++++++++++++++++
>  meta/recipes-extended/ltp/ltp_20140115.bb      |    7 +
>  2 files changed, 1419 insertions(+)
>  create mode 100644 meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
>
> diff --git a/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
> new file mode 100644
> index 0000000..1376f9d
> --- /dev/null
> +++ b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
> @@ -0,0 +1,1412 @@
> +Fix ffsb build failure on arm64 architecture:
> + - get rid of the hardcoded configure call preventing cross-compilation
> + - update config.guess/config.sub to add aarch64 supported
> +
> +Upstream-Status: Pending
> +Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
> +
> +---
> + utils/Makefile                  |    2
> + utils/ffsb-6.0-rc2/config.guess |  457 +++++++++++++++++++---------------------
> + utils/ffsb-6.0-rc2/config.sub   |  252 ++++++++++++++--------
> + 3 files changed, 382 insertions(+), 329 deletions(-)
> +
> +--- a/utils/Makefile
> ++++ b/utils/Makefile
> +@@ -29,7 +29,6 @@ FILTER_OUT_DIRS              := $(FFSBDIR)
> + FFSB                  := $(FFSBDIR)/ffsb
> +
> + $(FFSB): $(FFSBDIR)
> +-      cd $^; ./configure
> +       $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
> +       cp $(FFSBDIR)/ffsb ffsb
> +
> +--- a/utils/ffsb-6.0-rc2/config.guess
> ++++ b/utils/ffsb-6.0-rc2/config.guess
> +@@ -1,10 +1,10 @@
> + #! /bin/sh
> + # Attempt to guess a canonical system name.
> + #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
> +-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
> +-#   Free Software Foundation, Inc.
> ++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
> ++#   2011, 2012 Free Software Foundation, Inc.
> +
> +-timestamp='2009-08-19'
> ++timestamp='2012-09-25'
> +
> + # This file is free software; you can redistribute it and/or modify it
> + # under the terms of the GNU General Public License as published by
> +@@ -17,9 +17,7 @@ timestamp='2009-08-19'
> + # General Public License for more details.
> + #
> + # You should have received a copy of the GNU General Public License
> +-# along with this program; if not, write to the Free Software
> +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
> +-# 02110-1301, USA.
> ++# along with this program; if not, see <http://www.gnu.org/licenses/>.
> + #
> + # As a special exception to the GNU General Public License, if you
> + # distribute this file as part of a program that contains a
> +@@ -56,8 +54,9 @@ version="\
> + GNU config.guess ($timestamp)
> +
> + Originally written by Per Bothner.
> +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
> +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
> ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
> ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
> ++Free Software Foundation, Inc.
> +
> + This is free software; see the source for copying conditions.  There is NO
> + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> +@@ -139,31 +138,12 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
> + UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
> + UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
> +
> +-case "${UNAME_SYSTEM}" in
> +-Linux|GNU/*)
> +-      eval $set_cc_for_build
> +-      cat << EOF > $dummy.c
> +-      #include <features.h>
> +-      #ifdef __UCLIBC__
> +-      # ifdef __UCLIBC_CONFIG_VERSION__
> +-      LIBC=uclibc __UCLIBC_CONFIG_VERSION__
> +-      # else
> +-      LIBC=uclibc
> +-      # endif
> +-      #else
> +-      LIBC=gnu
> +-      #endif
> +-EOF
> +-      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
> +-      ;;
> +-esac
> +-
> + # Note: order is significant - the case branches are not exclusive.
> +
> + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
> +     *:NetBSD:*:*)
> +       # NetBSD (nbsd) targets should (where applicable) match one or
> +-      # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
> ++      # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
> +       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
> +       # switched to ELF, *-*-netbsd* would select the old
> +       # object file format.  This provides both forward
> +@@ -199,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +               fi
> +               ;;
> +           *)
> +-              os=netbsd
> ++              os=netbsd
> +               ;;
> +       esac
> +       # The OS release
> +@@ -220,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
> +       echo "${machine}-${os}${release}"
> +       exit ;;
> ++    *:Bitrig:*:*)
> ++      UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
> ++      echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
> ++      exit ;;
> +     *:OpenBSD:*:*)
> +       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
> +       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
> +@@ -242,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
> +               ;;
> +       *5.*)
> +-              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
> ++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
> +               ;;
> +       esac
> +       # According to Compaq, /usr/sbin/psrinfo has been available on
> +@@ -288,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +       # A Xn.n version is an unreleased experimental baselevel.
> +       # 1.2 uses "1.2" for uname -r.
> +       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
> +-      exit ;;
> ++      # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
> ++      exitcode=$?
> ++      trap '' 0
> ++      exit $exitcode ;;
> +     Alpha\ *:Windows_NT*:*)
> +       # How do we know it's Interix rather than the generic POSIX subsystem?
> +       # Should we change UNAME_MACHINE based on the output of uname instead
> +@@ -314,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +       echo s390-ibm-zvmoe
> +       exit ;;
> +     *:OS400:*:*)
> +-        echo powerpc-ibm-os400
> ++      echo powerpc-ibm-os400
> +       exit ;;
> +     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
> +       echo arm-acorn-riscix${UNAME_RELEASE}
> +       exit ;;
> +-    arm:riscos:*:*|arm:RISCOS:*:*)
> ++    arm*:riscos:*:*|arm*:RISCOS:*:*)
> +       echo arm-unknown-riscos
> +       exit ;;
> +     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
> +@@ -352,6 +339,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
> +       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
> +       exit ;;
> ++    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
> ++      echo i386-pc-auroraux${UNAME_RELEASE}
> ++      exit ;;
> +     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
> +       eval $set_cc_for_build
> +       SUN_ARCH="i386"
> +@@ -410,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
> +     # MiNT.  But MiNT is downward compatible to TOS, so this should
> +     # be no problem.
> +     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
> +-        echo m68k-atari-mint${UNAME_RELEASE}
> ++      echo m68k-atari-mint${UNAME_RELEASE}
> +       exit ;;
> +     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
> +       echo m68k-atari-mint${UNAME_RELEASE}
> +-        exit ;;
> ++      exit ;;
> +     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
> +-        echo m68k-atari-mint${UNAME_RELEASE}
> ++      echo m68k-atari-mint${UNAME_RELEASE}
> +       exit ;;
> +     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
> +-        echo m68k-milan-mint${UNAME_RELEASE}
> +-        exit ;;
> ++      echo m68k-milan-mint${UNAME_RELEASE}
> ++      exit ;;
> +     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
> +-        echo m68k-hades-mint${UNAME_RELEASE}
> +-        exit ;;
> ++      echo m68k-hades-mint${UNAME_RELEASE}
> ++      exit ;;
> +     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
> +-        echo m68k-unknown-mint${UNAME_RELEASE}
> +-        exit ;;
> ++      echo m68k-unknown-mint${UNAME_RELEASE}
> ++      exit ;;
> +     m68k:machten:*:*)
> +       echo m68k-apple-machten${UNAME_RELEASE}
> +       exit ;;
> +@@ -496,8 +486,8 @@ EOF
> +       echo m88k-motorola-sysv3
> +       exit ;;
> +     AViiON:dgux:*:*)
> +-        # DG/UX returns AViiON for all architectures
> +-        UNAME_PROCESSOR=`/usr/bin/uname -p`
> ++      # DG/UX returns AViiON for all architectures
> ++      UNAME_PROCESSOR=`/usr/bin/uname -p`
> +       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
> +       then
> +           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
> +@@ -510,7 +500,7 @@ EOF
> +       else
> +           echo i586-dg-dgux${UNAME_RELEASE}
> +       fi
> +-      exit ;;
> ++      exit ;;
> +     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
> +       echo m88k-dolphin-sysv3
> +       exit ;;
> +@@ -567,7 +557,7 @@ EOF
> +               echo rs6000-ibm-aix3.2
> +       fi
> +       exit ;;
> +-    *:AIX:*:[456])
> ++    *:AIX:*:[4567])
> +       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
> +       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
> +               IBM_ARCH=rs6000
> +@@ -610,52 +600,52 @@ EOF
> +           9000/[678][0-9][0-9])
> +               if [ -x /usr/bin/getconf ]; then
> +                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
> +-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
> +-                    case "${sc_cpu_version}" in
> +-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
> +-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
> +-                      532)                      # CPU_PA_RISC2_0
> +-                        case "${sc_kernel_bits}" in
> +-                          32) HP_ARCH="hppa2.0n" ;;
> +-                          64) HP_ARCH="hppa2.0w" ;;
> ++                  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
> ++                  case "${sc_cpu_version}" in
> ++                    523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
> ++                    528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
> ++                    532)                      # CPU_PA_RISC2_0
> ++                      case "${sc_kernel_bits}" in
> ++                        32) HP_ARCH="hppa2.0n" ;;
> ++                        64) HP_ARCH="hppa2.0w" ;;
> +                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
> +-                        esac ;;
> +-                    esac
> ++                      esac ;;
> ++                  esac
> +               fi
> +               if [ "${HP_ARCH}" = "" ]; then
> +                   eval $set_cc_for_build
> +-                  sed 's/^              //' << EOF >$dummy.c
> ++                  sed 's/^            //' << EOF >$dummy.c
> ++
> ++              #define _HPUX_SOURCE
> ++              #include <stdlib.h>
> ++              #include <unistd.h>
> ++
> ++              int main ()
> ++              {
> ++              #if defined(_SC_KERNEL_BITS)
> ++                  long bits = sysconf(_SC_KERNEL_BITS);
> ++              #endif
> ++                  long cpu  = sysconf (_SC_CPU_VERSION);
> +
> +-              #define _HPUX_SOURCE
> +-              #include <stdlib.h>
> +-              #include <unistd.h>
> +-
> +-              int main ()
> +-              {
> +-              #if defined(_SC_KERNEL_BITS)
> +-                  long bits = sysconf(_SC_KERNEL_BITS);
> +-              #endif
> +-                  long cpu  = sysconf (_SC_CPU_VERSION);
> +-
> +-                  switch (cpu)
> +-                      {
> +-                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
> +-                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
> +-                      case CPU_PA_RISC2_0:
> +-              #if defined(_SC_KERNEL_BITS)
> +-                          switch (bits)
> +-                              {
> +-                              case 64: puts ("hppa2.0w"); break;
> +-                              case 32: puts ("hppa2.0n"); break;
> +-                              default: puts ("hppa2.0"); break;
> +-                              } break;
> +-              #else  /* !defined(_SC_KERNEL_BITS) */
> +-                          puts ("hppa2.0"); break;
> +-              #endif
> +-                      default: puts ("hppa1.0"); break;
> +-                      }
> +-                  exit (0);
> +-              }
> ++                  switch (cpu)
> ++                      {
> ++                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
> ++                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
> ++                      case CPU_PA_RISC2_0:
> ++              #if defined(_SC_KERNEL_BITS)
> ++                          switch (bits)
> ++                              {
> ++                              case 64: puts ("hppa2.0w"); break;
> ++                              case 32: puts ("hppa2.0n"); break;
> ++                              default: puts ("hppa2.0"); break;
> ++                              } break;
> ++              #else  /* !defined(_SC_KERNEL_BITS) */
> ++                          puts ("hppa2.0"); break;
> ++              #endif
> ++                      default: puts ("hppa1.0"); break;
> ++                      }
> ++                  exit (0);
> ++              }
> + EOF
> +                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
> +                   test -z "$HP_ARCH" && HP_ARCH=hppa
> +@@ -746,22 +736,22 @@ EOF
> +       exit ;;
> +     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
> +       echo c1-convex-bsd
> +-        exit ;;
> ++      exit ;;
> +     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
> +       if getsysinfo -f scalar_acc
> +       then echo c32-convex-bsd
> +       else echo c2-convex-bsd
> +       fi
> +-        exit ;;
> ++      exit ;;
> +     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
> +       echo c34-convex-bsd
> +-        exit ;;
> ++      exit ;;
> +     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
> +       echo c38-convex-bsd
> +-        exit ;;
> ++      exit ;;
> +     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
> +       echo c4-convex-bsd
> +-        exit ;;
> ++      exit ;;
> +     CRAY*Y-MP:*:*:*)
> +       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
> +       exit ;;
> +@@ -785,14 +775,14 @@ EOF
> +       exit ;;
> +     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
> +       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
> +-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> +-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
> +-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> +-        exit ;;
> ++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> ++      FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
> ++      echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> ++      exit ;;
> +     5000:UNIX_System_V:4.*:*)
> +-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> +-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
> +-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> ++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
> ++      FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
> ++      echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
> +       exit ;;
> +     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
> +       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
> +@@ -804,34 +794,39 @@ EOF
> +       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
> +       exit ;;
> +     *:FreeBSD:*:*)
> +-      case ${UNAME_MACHINE} in
> +-          pc98)
> +-              echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
> ++      UNAME_PROCESSOR=`/usr/bin/uname -p`
> ++      case ${UNAME_PROCESSOR} in
> +           amd64)
> +               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
> +           *)
> +-              echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
> ++              echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
> +       esac
> +       exit ;;
> +     i*:CYGWIN*:*)
> +       echo ${UNAME_MACHINE}-pc-cygwin
> +       exit ;;
> ++    *:MINGW64*:*)
> ++      echo ${UNAME_MACHINE}-pc-mingw64
> ++      exit ;;
> +     *:MINGW*:*)
> +       echo ${UNAME_MACHINE}-pc-mingw32
> +       exit ;;
> ++    i*:MSYS*:*)
> ++      echo ${UNAME_MACHINE}-pc-msys
> ++      exit ;;
> +     i*:windows32*:*)
> +-      # uname -m includes "-pc" on this system.
> +-      echo ${UNAME_MACHINE}-mingw32
> ++      # uname -m includes "-pc" on this system.
> ++      echo ${UNAME_MACHINE}-mingw32
> +       exit ;;
> +     i*:PW*:*)
> +       echo ${UNAME_MACHINE}-pc-pw32
> +       exit ;;
> +-    *:Interix*:[3456]*)
> +-      case ${UNAME_MACHINE} in
> ++    *:Interix*:*)
> ++      case ${UNAME_MACHINE} in
> +           x86)
> +               echo i586-pc-interix${UNAME_RELEASE}
> +               exit ;;
> +-          EM64T | authenticamd | genuineintel)
> ++          authenticamd | genuineintel | EM64T)
> +               echo x86_64-unknown-interix${UNAME_RELEASE}
> +               exit ;;
> +           IA64)
> +@@ -868,41 +863,82 @@ EOF
> +       exit ;;
> +     *:GNU/*:*:*)
> +       # other systems with GNU libc and userland
> +-      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
> +       exit ;;
> +     i*86:Minix:*:*)
> +       echo ${UNAME_MACHINE}-pc-minix
> +       exit ;;
> ++    aarch64:Linux:*:*)
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> ++      exit ;;
> ++    aarch64_be:Linux:*:*)
> ++      UNAME_MACHINE=aarch64_be
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> ++      exit ;;
> ++    alpha:Linux:*:*)
> ++      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
> ++        EV5)   UNAME_MACHINE=alphaev5 ;;
> ++        EV56)  UNAME_MACHINE=alphaev56 ;;
> ++        PCA56) UNAME_MACHINE=alphapca56 ;;
> ++        PCA57) UNAME_MACHINE=alphapca56 ;;
> ++        EV6)   UNAME_MACHINE=alphaev6 ;;
> ++        EV67)  UNAME_MACHINE=alphaev67 ;;
> ++        EV68*) UNAME_MACHINE=alphaev68 ;;
> ++      esac
> ++      objdump --private-headers /bin/sh | grep -q ld.so.1
> ++      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
> ++      exit ;;
> +     arm*:Linux:*:*)
> +       eval $set_cc_for_build
> +       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
> +           | grep -q __ARM_EABI__
> +       then
> +-          echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++          echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       else
> +-          echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
> ++          if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
> ++              | grep -q __ARM_PCS_VFP
> ++          then
> ++              echo ${UNAME_MACHINE}-unknown-linux-gnueabi
> ++          else
> ++              echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
> ++          fi
> +       fi
> +       exit ;;
> +     avr32*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     cris:Linux:*:*)
> +-      echo cris-axis-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-axis-linux-gnu
> +       exit ;;
> +     crisv32:Linux:*:*)
> +-      echo crisv32-axis-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-axis-linux-gnu
> +       exit ;;
> +     frv:Linux:*:*)
> +-      echo frv-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> ++      exit ;;
> ++    hexagon:Linux:*:*)
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> ++      exit ;;
> ++    i*86:Linux:*:*)
> ++      LIBC=gnu
> ++      eval $set_cc_for_build
> ++      sed 's/^        //' << EOF >$dummy.c
> ++      #ifdef __dietlibc__
> ++      LIBC=dietlibc
> ++      #endif
> ++EOF
> ++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
> ++      echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
> +       exit ;;
> +     ia64:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     m32r*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     m68*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     mips:Linux:*:* | mips64:Linux:*:*)
> +       eval $set_cc_for_build
> +@@ -920,125 +956,56 @@ EOF
> +       #endif
> +       #endif
> + EOF
> +-      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
> +-          /^CPU/{
> +-              s: ::g
> +-              p
> +-          }'`"
> +-      test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
> ++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
> ++      test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
> +       ;;
> +     or32:Linux:*:*)
> +-      echo or32-unknown-linux-${LIBC}
> +-      exit ;;
> +-    ppc:Linux:*:*)
> +-      echo powerpc-unknown-linux-${LIBC}
> +-      exit ;;
> +-    ppc64:Linux:*:*)
> +-      echo powerpc64-unknown-linux-${LIBC}
> +-      exit ;;
> +-    alpha:Linux:*:*)
> +-      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
> +-        EV5)   UNAME_MACHINE=alphaev5 ;;
> +-        EV56)  UNAME_MACHINE=alphaev56 ;;
> +-        PCA56) UNAME_MACHINE=alphapca56 ;;
> +-        PCA57) UNAME_MACHINE=alphapca56 ;;
> +-        EV6)   UNAME_MACHINE=alphaev6 ;;
> +-        EV67)  UNAME_MACHINE=alphaev67 ;;
> +-        EV68*) UNAME_MACHINE=alphaev68 ;;
> +-        esac
> +-      objdump --private-headers /bin/sh | grep -q ld.so.1
> +-      if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     padre:Linux:*:*)
> +-      echo sparc-unknown-linux-${LIBC}
> ++      echo sparc-unknown-linux-gnu
> ++      exit ;;
> ++    parisc64:Linux:*:* | hppa64:Linux:*:*)
> ++      echo hppa64-unknown-linux-gnu
> +       exit ;;
> +     parisc:Linux:*:* | hppa:Linux:*:*)
> +       # Look for CPU level
> +       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
> +-        PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
> +-        PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
> +-        *)    echo hppa-unknown-linux-${LIBC} ;;
> ++        PA7*) echo hppa1.1-unknown-linux-gnu ;;
> ++        PA8*) echo hppa2.0-unknown-linux-gnu ;;
> ++        *)    echo hppa-unknown-linux-gnu ;;
> +       esac
> +       exit ;;
> +-    parisc64:Linux:*:* | hppa64:Linux:*:*)
> +-      echo hppa64-unknown-linux-${LIBC}
> ++    ppc64:Linux:*:*)
> ++      echo powerpc64-unknown-linux-gnu
> ++      exit ;;
> ++    ppc:Linux:*:*)
> ++      echo powerpc-unknown-linux-gnu
> +       exit ;;
> +     s390:Linux:*:* | s390x:Linux:*:*)
> +       echo ${UNAME_MACHINE}-ibm-linux
> +       exit ;;
> +     sh64*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     sh*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     sparc:Linux:*:* | sparc64:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> ++      exit ;;
> ++    tile*:Linux:*:*)
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     vax:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-dec-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-dec-linux-gnu
> +       exit ;;
> +     x86_64:Linux:*:*)
> +-      echo x86_64-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +     xtensa*:Linux:*:*)
> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
> +       exit ;;
> +-    i*86:Linux:*:*)
> +-      # The BFD linker knows what the default object file format is, so
> +-      # first see if it will tell us. cd to the root directory to prevent
> +-      # problems with other programs or directories called `ld' in the path.
> +-      # Set LC_ALL=C to ensure ld outputs messages in English.
> +-      ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
> +-                       | sed -ne '/supported targets:/!d
> +-                                  s/[         ][      ]*/ /g
> +-                                  s/.*supported targets: *//
> +-                                  s/ .*//
> +-                                  p'`
> +-        case "$ld_supported_targets" in
> +-        elf32-i386)
> +-              TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
> +-              ;;
> +-      esac
> +-      # This should get integrated into the C code below, but now we hack
> +-      if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
> +-      # Determine whether the default compiler is a.out or elf
> +-      eval $set_cc_for_build
> +-      sed 's/^        //' << EOF >$dummy.c
> +-      #include <features.h>
> +-      #ifdef __ELF__
> +-      # ifdef __GLIBC__
> +-      #  if __GLIBC__ >= 2
> +-      LIBC=gnu
> +-      #  else
> +-      LIBC=gnulibc1
> +-      #  endif
> +-      # else
> +-      LIBC=gnulibc1
> +-      # endif
> +-      #else
> +-      #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
> +-      LIBC=gnu
> +-      #else
> +-      LIBC=gnuaout
> +-      #endif
> +-      #endif
> +-      #ifdef __dietlibc__
> +-      LIBC=dietlibc
> +-      #endif
> +-EOF
> +-      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
> +-          /^LIBC/{
> +-              s: ::g
> +-              p
> +-          }'`"
> +-      test x"${LIBC}" != x && {
> +-              echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
> +-              exit
> +-      }
> +-      test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
> +-      ;;
> +     i*86:DYNIX/ptx:4*:*)
> +       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
> +       # earlier versions are messed up and put the nodename in both
> +@@ -1046,11 +1013,11 @@ EOF
> +       echo i386-sequent-sysv4
> +       exit ;;
> +     i*86:UNIX_SV:4.2MP:2.*)
> +-        # Unixware is an offshoot of SVR4, but it has its own version
> +-        # number series starting with 2...
> +-        # I am not positive that other SVR4 systems won't match this,
> ++      # Unixware is an offshoot of SVR4, but it has its own version
> ++      # number series starting with 2...
> ++      # I am not positive that other SVR4 systems won't match this,
> +       # I just have to hope.  -- rms.
> +-        # Use sysv4.2uw... so that sysv4* matches it.
> ++      # Use sysv4.2uw... so that sysv4* matches it.
> +       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
> +       exit ;;
> +     i*86:OS/2:*:*)
> +@@ -1082,7 +1049,7 @@ EOF
> +       fi
> +       exit ;;
> +     i*86:*:5:[678]*)
> +-      # UnixWare 7.x, OpenUNIX and OpenServer 6.
> ++      # UnixWare 7.x, OpenUNIX and OpenServer 6.
> +       case `/bin/uname -X | grep "^Machine"` in
> +           *486*)           UNAME_MACHINE=i486 ;;
> +           *Pentium)        UNAME_MACHINE=i586 ;;
> +@@ -1110,13 +1077,13 @@ EOF
> +       exit ;;
> +     pc:*:*:*)
> +       # Left here for compatibility:
> +-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
> +-        # the processor, so we play safe by assuming i586.
> ++      # uname -m prints for DJGPP always 'pc', but it prints nothing about
> ++      # the processor, so we play safe by assuming i586.
> +       # Note: whatever this is, it MUST be the same as what config.sub
> +       # prints for the "djgpp" host, or else GDB configury will decide that
> +       # this is a cross-build.
> +       echo i586-pc-msdosdjgpp
> +-        exit ;;
> ++      exit ;;
> +     Intel:Mach:3*:*)
> +       echo i386-pc-mach3
> +       exit ;;
> +@@ -1151,8 +1118,8 @@ EOF
> +       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
> +         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
> +     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
> +-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
> +-          && { echo i486-ncr-sysv4; exit; } ;;
> ++      /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
> ++        && { echo i486-ncr-sysv4; exit; } ;;
> +     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
> +       OS_REL='.3'
> +       test -r /etc/.relid \
> +@@ -1195,10 +1162,10 @@ EOF
> +               echo ns32k-sni-sysv
> +       fi
> +       exit ;;
> +-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
> +-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
> +-        echo i586-unisys-sysv4
> +-        exit ;;
> ++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
> ++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
> ++      echo i586-unisys-sysv4
> ++      exit ;;
> +     *:UNIX_System_V:4*:FTX*)
> +       # From Gerald Hewes <hewes@openmarket.com>.
> +       # How about differentiating between stratus architectures? -djm
> +@@ -1224,11 +1191,11 @@ EOF
> +       exit ;;
> +     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
> +       if [ -d /usr/nec ]; then
> +-              echo mips-nec-sysv${UNAME_RELEASE}
> ++              echo mips-nec-sysv${UNAME_RELEASE}
> +       else
> +-              echo mips-unknown-sysv${UNAME_RELEASE}
> ++              echo mips-unknown-sysv${UNAME_RELEASE}
> +       fi
> +-        exit ;;
> ++      exit ;;
> +     BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
> +       echo powerpc-be-beos
> +       exit ;;
> +@@ -1241,6 +1208,9 @@ EOF
> +     BePC:Haiku:*:*)   # Haiku running on Intel PC compatible.
> +       echo i586-pc-haiku
> +       exit ;;
> ++    x86_64:Haiku:*:*)
> ++      echo x86_64-unknown-haiku
> ++      exit ;;
> +     SX-4:SUPER-UX:*:*)
> +       echo sx4-nec-superux${UNAME_RELEASE}
> +       exit ;;
> +@@ -1268,6 +1238,16 @@ EOF
> +     *:Darwin:*:*)
> +       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
> +       case $UNAME_PROCESSOR in
> ++          i386)
> ++              eval $set_cc_for_build
> ++              if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
> ++                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
> ++                    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
> ++                    grep IS_64BIT_ARCH >/dev/null
> ++                then
> ++                    UNAME_PROCESSOR="x86_64"
> ++                fi
> ++              fi ;;
> +           unknown) UNAME_PROCESSOR=powerpc ;;
> +       esac
> +       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
> +@@ -1283,7 +1263,10 @@ EOF
> +     *:QNX:*:4*)
> +       echo i386-pc-qnx
> +       exit ;;
> +-    NSE-?:NONSTOP_KERNEL:*:*)
> ++    NEO-?:NONSTOP_KERNEL:*:*)
> ++      echo neo-tandem-nsk${UNAME_RELEASE}
> ++      exit ;;
> ++    NSE-*:NONSTOP_KERNEL:*:*)
> +       echo nse-tandem-nsk${UNAME_RELEASE}
> +       exit ;;
> +     NSR-?:NONSTOP_KERNEL:*:*)
> +@@ -1328,13 +1311,13 @@ EOF
> +       echo pdp10-unknown-its
> +       exit ;;
> +     SEI:*:*:SEIUX)
> +-        echo mips-sei-seiux${UNAME_RELEASE}
> ++      echo mips-sei-seiux${UNAME_RELEASE}
> +       exit ;;
> +     *:DragonFly:*:*)
> +       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
> +       exit ;;
> +     *:*VMS:*:*)
> +-      UNAME_MACHINE=`(uname -p) 2>/dev/null`
> ++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
> +       case "${UNAME_MACHINE}" in
> +           A*) echo alpha-dec-vms ; exit ;;
> +           I*) echo ia64-dec-vms ; exit ;;
> +@@ -1352,11 +1335,11 @@ EOF
> +     i*86:AROS:*:*)
> +       echo ${UNAME_MACHINE}-pc-aros
> +       exit ;;
> ++    x86_64:VMkernel:*:*)
> ++      echo ${UNAME_MACHINE}-unknown-esx
> ++      exit ;;
> + esac
> +
> +-#echo '(No uname command or uname output not recognized.)' 1>&2
> +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
> +-
> + eval $set_cc_for_build
> + cat >$dummy.c <<EOF
> + #ifdef _SEQUENT_
> +@@ -1374,11 +1357,11 @@ main ()
> + #include <sys/param.h>
> +   printf ("m68k-sony-newsos%s\n",
> + #ifdef NEWSOS4
> +-          "4"
> ++      "4"
> + #else
> +-        ""
> ++      ""
> + #endif
> +-         ); exit (0);
> ++      ); exit (0);
> + #endif
> + #endif
> +
> +--- a/utils/ffsb-6.0-rc2/config.sub
> ++++ b/utils/ffsb-6.0-rc2/config.sub
> +@@ -1,10 +1,10 @@
> + #! /bin/sh
> + # Configuration validation subroutine script.
> + #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
> +-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
> +-#   Free Software Foundation, Inc.
> ++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
> ++#   2011, 2012 Free Software Foundation, Inc.
> +
> +-timestamp='2009-08-19'
> ++timestamp='2012-10-10'
> +
> + # This file is (in principle) common to ALL GNU software.
> + # The presence of a machine in this file suggests that SOME GNU software
> +@@ -21,9 +21,7 @@ timestamp='2009-08-19'
> + # GNU General Public License for more details.
> + #
> + # You should have received a copy of the GNU General Public License
> +-# along with this program; if not, write to the Free Software
> +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
> +-# 02110-1301, USA.
> ++# along with this program; if not, see <http://www.gnu.org/licenses/>.
> + #
> + # As a special exception to the GNU General Public License, if you
> + # distribute this file as part of a program that contains a
> +@@ -75,8 +73,9 @@ Report bugs and patches to <config-patch
> + version="\
> + GNU config.sub ($timestamp)
> +
> +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
> +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
> ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
> ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
> ++Free Software Foundation, Inc.
> +
> + This is free software; see the source for copying conditions.  There is NO
> + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
> +@@ -123,13 +122,18 @@ esac
> + # Here we must recognize all the valid KERNEL-OS combinations.
> + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
> + case $maybe_os in
> +-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
> +-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
> ++  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
> ++  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
> ++  knetbsd*-gnu* | netbsd*-gnu* | \
> +   kopensolaris*-gnu* | \
> +   storm-chaos* | os2-emx* | rtmk-nova*)
> +     os=-$maybe_os
> +     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
> +     ;;
> ++  android-linux)
> ++    os=-linux-android
> ++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
> ++    ;;
> +   *)
> +     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
> +     if [ $basic_machine != $1 ]
> +@@ -152,12 +156,12 @@ case $os in
> +       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
> +       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
> +       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
> +-      -apple | -axis | -knuth | -cray | -microblaze)
> ++      -apple | -axis | -knuth | -cray | -microblaze*)
> +               os=
> +               basic_machine=$1
> +               ;;
> +-        -bluegene*)
> +-              os=-cnk
> ++      -bluegene*)
> ++              os=-cnk
> +               ;;
> +       -sim | -cisco | -oki | -wec | -winbond)
> +               os=
> +@@ -173,10 +177,10 @@ case $os in
> +               os=-chorusos
> +               basic_machine=$1
> +               ;;
> +-      -chorusrdb)
> +-              os=-chorusrdb
> ++      -chorusrdb)
> ++              os=-chorusrdb
> +               basic_machine=$1
> +-              ;;
> ++              ;;
> +       -hiux*)
> +               os=-hiuxwe2
> +               ;;
> +@@ -221,6 +225,12 @@ case $os in
> +       -isc*)
> +               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
> +               ;;
> ++      -lynx*178)
> ++              os=-lynxos178
> ++              ;;
> ++      -lynx*5)
> ++              os=-lynxos5
> ++              ;;
> +       -lynx*)
> +               os=-lynxos
> +               ;;
> +@@ -245,20 +255,25 @@ case $basic_machine in
> +       # Some are omitted here because they have special meanings below.
> +       1750a | 580 \
> +       | a29k \
> ++      | aarch64 | aarch64_be \
> +       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
> +       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
> +       | am33_2.0 \
> +       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
> ++        | be32 | be64 \
> +       | bfin \
> +       | c4x | clipper \
> +-      | d10v | d30v | dlx | dsp16xx | dvp \
> ++      | d10v | d30v | dlx | dsp16xx \
> ++      | epiphany \
> +       | fido | fr30 | frv \
> +       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
> ++      | hexagon \
> +       | i370 | i860 | i960 | ia64 \
> +       | ip2k | iq2000 \
> ++      | le32 | le64 \
> +       | lm32 \
> +       | m32c | m32r | m32rle | m68000 | m68k | m88k \
> +-      | maxq | mb | microblaze | mcore | mep | metag \
> ++      | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
> +       | mips | mipsbe | mipseb | mipsel | mipsle \
> +       | mips16 \
> +       | mips64 | mips64el \
> +@@ -281,27 +296,39 @@ case $basic_machine in
> +       | moxie \
> +       | mt \
> +       | msp430 \
> ++      | nds32 | nds32le | nds32be \
> +       | nios | nios2 \
> +       | ns16k | ns32k \
> ++      | open8 \
> +       | or32 \
> +       | pdp10 | pdp11 | pj | pjl \
> +-      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
> ++      | powerpc | powerpc64 | powerpc64le | powerpcle \
> +       | pyramid \
> ++      | rl78 | rx \
> +       | score \
> +       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
> +       | sh64 | sh64le \
> +       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
> +       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
> +-      | spu | strongarm \
> +-      | tahoe | thumb | tic4x | tic80 | tron \
> +-      | v850 | v850e \
> ++      | spu \
> ++      | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
> ++      | ubicom32 \
> ++      | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
> +       | we32k \
> +-      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
> ++      | x86 | xc16x | xstormy16 | xtensa \
> +       | z8k | z80)
> +               basic_machine=$basic_machine-unknown
> +               ;;
> +-      m6811 | m68hc11 | m6812 | m68hc12)
> +-              # Motorola 68HC11/12.
> ++      c54x)
> ++              basic_machine=tic54x-unknown
> ++              ;;
> ++      c55x)
> ++              basic_machine=tic55x-unknown
> ++              ;;
> ++      c6x)
> ++              basic_machine=tic6x-unknown
> ++              ;;
> ++      m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
> +               basic_machine=$basic_machine-unknown
> +               os=-none
> +               ;;
> +@@ -311,6 +338,21 @@ case $basic_machine in
> +               basic_machine=mt-unknown
> +               ;;
> +
> ++      strongarm | thumb | xscale)
> ++              basic_machine=arm-unknown
> ++              ;;
> ++      xgate)
> ++              basic_machine=$basic_machine-unknown
> ++              os=-none
> ++              ;;
> ++      xscaleeb)
> ++              basic_machine=armeb-unknown
> ++              ;;
> ++
> ++      xscaleel)
> ++              basic_machine=armel-unknown
> ++              ;;
> ++
> +       # We use `pc' rather than `unknown'
> +       # because (1) that's what they normally are, and
> +       # (2) the word "unknown" tends to confuse beginning users.
> +@@ -325,25 +367,30 @@ case $basic_machine in
> +       # Recognize the basic CPU types with company name.
> +       580-* \
> +       | a29k-* \
> ++      | aarch64-* | aarch64_be-* \
> +       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
> +       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
> +       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
> +       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
> +       | avr-* | avr32-* \
> ++      | be32-* | be64-* \
> +       | bfin-* | bs2000-* \
> +-      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
> ++      | c[123]* | c30-* | [cjt]90-* | c4x-* \
> +       | clipper-* | craynv-* | cydra-* \
> +       | d10v-* | d30v-* | dlx-* \
> +       | elxsi-* \
> +       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
> +       | h8300-* | h8500-* \
> +       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
> ++      | hexagon-* \
> +       | i*86-* | i860-* | i960-* | ia64-* \
> +       | ip2k-* | iq2000-* \
> ++      | le32-* | le64-* \
> +       | lm32-* \
> +       | m32c-* | m32r-* | m32rle-* \
> +       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
> +-      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
> ++      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
> ++      | microblaze-* | microblazeel-* \
> +       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
> +       | mips16-* \
> +       | mips64-* | mips64el-* \
> +@@ -365,24 +412,29 @@ case $basic_machine in
> +       | mmix-* \
> +       | mt-* \
> +       | msp430-* \
> ++      | nds32-* | nds32le-* | nds32be-* \
> +       | nios-* | nios2-* \
> +       | none-* | np1-* | ns16k-* | ns32k-* \
> ++      | open8-* \
> +       | orion-* \
> +       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
> +-      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
> ++      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
> +       | pyramid-* \
> +-      | romp-* | rs6000-* \
> ++      | rl78-* | romp-* | rs6000-* | rx-* \
> +       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
> +       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
> +       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
> +       | sparclite-* \
> +-      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
> +-      | tahoe-* | thumb-* \
> +-      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
> ++      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
> ++      | tahoe-* \
> ++      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
> ++      | tile*-* \
> +       | tron-* \
> +-      | v850-* | v850e-* | vax-* \
> ++      | ubicom32-* \
> ++      | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
> ++      | vax-* \
> +       | we32k-* \
> +-      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
> ++      | x86-* | x86_64-* | xc16x-* | xps100-* \
> +       | xstormy16-* | xtensa*-* \
> +       | ymp-* \
> +       | z8k-* | z80-*)
> +@@ -407,7 +459,7 @@ case $basic_machine in
> +               basic_machine=a29k-amd
> +               os=-udi
> +               ;;
> +-      abacus)
> ++      abacus)
> +               basic_machine=abacus-unknown
> +               ;;
> +       adobe68k)
> +@@ -477,11 +529,20 @@ case $basic_machine in
> +               basic_machine=powerpc-ibm
> +               os=-cnk
> +               ;;
> ++      c54x-*)
> ++              basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
> ++              ;;
> ++      c55x-*)
> ++              basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
> ++              ;;
> ++      c6x-*)
> ++              basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
> ++              ;;
> +       c90)
> +               basic_machine=c90-cray
> +               os=-unicos
> +               ;;
> +-        cegcc)
> ++      cegcc)
> +               basic_machine=arm-unknown
> +               os=-cegcc
> +               ;;
> +@@ -513,7 +574,7 @@ case $basic_machine in
> +               basic_machine=craynv-cray
> +               os=-unicosmp
> +               ;;
> +-      cr16)
> ++      cr16 | cr16-*)
> +               basic_machine=cr16-unknown
> +               os=-elf
> +               ;;
> +@@ -671,7 +732,6 @@ case $basic_machine in
> +       i370-ibm* | ibm*)
> +               basic_machine=i370-ibm
> +               ;;
> +-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
> +       i*86v32)
> +               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
> +               os=-sysv32
> +@@ -729,9 +789,13 @@ case $basic_machine in
> +               basic_machine=ns32k-utek
> +               os=-sysv
> +               ;;
> +-        microblaze)
> ++      microblaze*)
> +               basic_machine=microblaze-xilinx
> +               ;;
> ++      mingw64)
> ++              basic_machine=x86_64-pc
> ++              os=-mingw64
> ++              ;;
> +       mingw32)
> +               basic_machine=i386-pc
> +               os=-mingw32
> +@@ -747,24 +811,6 @@ case $basic_machine in
> +               basic_machine=m68k-atari
> +               os=-mint
> +               ;;
> +-      mipsEE* | ee | ps2)
> +-              basic_machine=mips64r5900el-scei
> +-              case $os in
> +-                  -linux*)
> +-                      ;;
> +-                  *)
> +-                      os=-elf
> +-                      ;;
> +-              esac
> +-              ;;
> +-      iop)
> +-              basic_machine=mipsel-scei
> +-              os=-irx
> +-              ;;
> +-      dvp)
> +-              basic_machine=dvp-scei
> +-              os=-elf
> +-              ;;
> +       mips3*-*)
> +               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
> +               ;;
> +@@ -786,10 +832,18 @@ case $basic_machine in
> +       ms1-*)
> +               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
> +               ;;
> ++      msys)
> ++              basic_machine=i386-pc
> ++              os=-msys
> ++              ;;
> +       mvs)
> +               basic_machine=i370-ibm
> +               os=-mvs
> +               ;;
> ++      nacl)
> ++              basic_machine=le32-unknown
> ++              os=-nacl
> ++              ;;
> +       ncr3000)
> +               basic_machine=i486-ncr
> +               os=-sysv4
> +@@ -854,6 +908,12 @@ case $basic_machine in
> +       np1)
> +               basic_machine=np1-gould
> +               ;;
> ++      neo-tandem)
> ++              basic_machine=neo-tandem
> ++              ;;
> ++      nse-tandem)
> ++              basic_machine=nse-tandem
> ++              ;;
> +       nsr-tandem)
> +               basic_machine=nsr-tandem
> +               ;;
> +@@ -936,9 +996,10 @@ case $basic_machine in
> +               ;;
> +       power)  basic_machine=power-ibm
> +               ;;
> +-      ppc)    basic_machine=powerpc-unknown
> ++      ppc | ppcbe)    basic_machine=powerpc-unknown
> +               ;;
> +-      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
> ++      ppc-* | ppcbe-*)
> ++              basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
> +               ;;
> +       ppcle | powerpclittle | ppc-le | powerpc-little)
> +               basic_machine=powerpcle-unknown
> +@@ -1032,6 +1093,9 @@ case $basic_machine in
> +               basic_machine=i860-stratus
> +               os=-sysv4
> +               ;;
> ++      strongarm-* | thumb-*)
> ++              basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
> ++              ;;
> +       sun2)
> +               basic_machine=m68000-sun
> +               ;;
> +@@ -1088,20 +1152,8 @@ case $basic_machine in
> +               basic_machine=t90-cray
> +               os=-unicos
> +               ;;
> +-      tic54x | c54x*)
> +-              basic_machine=tic54x-unknown
> +-              os=-coff
> +-              ;;
> +-      tic55x | c55x*)
> +-              basic_machine=tic55x-unknown
> +-              os=-coff
> +-              ;;
> +-      tic6x | c6x*)
> +-              basic_machine=tic6x-unknown
> +-              os=-coff
> +-              ;;
> +       tile*)
> +-              basic_machine=tile-unknown
> ++              basic_machine=$basic_machine-unknown
> +               os=-linux-gnu
> +               ;;
> +       tx39)
> +@@ -1171,6 +1223,9 @@ case $basic_machine in
> +       xps | xps100)
> +               basic_machine=xps100-honeywell
> +               ;;
> ++      xscale-* | xscalee[bl]-*)
> ++              basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
> ++              ;;
> +       ymp)
> +               basic_machine=ymp-cray
> +               os=-unicos
> +@@ -1268,9 +1323,12 @@ esac
> + if [ x"$os" != x"" ]
> + then
> + case $os in
> +-        # First match some system type aliases
> +-        # that might get confused with valid system types.
> ++      # First match some system type aliases
> ++      # that might get confused with valid system types.
> +       # -solaris* is a basic system type, with this one exception.
> ++      -auroraux)
> ++              os=-auroraux
> ++              ;;
> +       -solaris1 | -solaris1.*)
> +               os=`echo $os | sed -e 's|solaris1|sunos4|'`
> +               ;;
> +@@ -1292,21 +1350,22 @@ case $os in
> +       # -sysv* is not here because it comes later, after sysvr4.
> +       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
> +             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
> +-            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
> +-            | -kopensolaris* \
> ++            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
> ++            | -sym* | -kopensolaris* \
> +             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
> +             | -aos* | -aros* \
> +             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
> +             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
> +             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
> +-            | -openbsd* | -solidbsd* \
> ++            | -bitrig* | -openbsd* | -solidbsd* \
> +             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
> +             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
> +             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
> +             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
> +             | -chorusos* | -chorusrdb* | -cegcc* \
> +-            | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
> +-            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
> ++            | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
> ++            | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
> ++            | -linux-newlib* | -linux-musl* | -linux-uclibc* \
> +             | -uxpv* | -beos* | -mpeix* | -udk* \
> +             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
> +             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
> +@@ -1314,7 +1373,7 @@ case $os in
> +             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
> +             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
> +             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
> +-            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
> ++            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
> +       # Remember, each alternative MUST END IN *, to match a version number.
> +               ;;
> +       -qnx*)
> +@@ -1353,7 +1412,7 @@ case $os in
> +       -opened*)
> +               os=-openedition
> +               ;;
> +-        -os400*)
> ++      -os400*)
> +               os=-os400
> +               ;;
> +       -wince*)
> +@@ -1402,7 +1461,7 @@ case $os in
> +       -sinix*)
> +               os=-sysv4
> +               ;;
> +-        -tpf*)
> ++      -tpf*)
> +               os=-tpf
> +               ;;
> +       -triton*)
> +@@ -1447,6 +1506,8 @@ case $os in
> +       -dicos*)
> +               os=-dicos
> +               ;;
> ++      -nacl*)
> ++              ;;
> +       -none)
> +               ;;
> +       *)
> +@@ -1469,10 +1530,10 @@ else
> + # system, and we'll never get to this point.
> +
> + case $basic_machine in
> +-        score-*)
> ++      score-*)
> +               os=-elf
> +               ;;
> +-        spu-*)
> ++      spu-*)
> +               os=-elf
> +               ;;
> +       *-acorn)
> +@@ -1484,8 +1545,20 @@ case $basic_machine in
> +       arm*-semi)
> +               os=-aout
> +               ;;
> +-        c4x-* | tic4x-*)
> +-              os=-coff
> ++      c4x-* | tic4x-*)
> ++              os=-coff
> ++              ;;
> ++      hexagon-*)
> ++              os=-elf
> ++              ;;
> ++      tic54x-*)
> ++              os=-coff
> ++              ;;
> ++      tic55x-*)
> ++              os=-coff
> ++              ;;
> ++      tic6x-*)
> ++              os=-coff
> +               ;;
> +       # This must come before the *-dec entry.
> +       pdp10-*)
> +@@ -1505,14 +1578,11 @@ case $basic_machine in
> +               ;;
> +       m68000-sun)
> +               os=-sunos3
> +-              # This also exists in the configure program, but was not the
> +-              # default.
> +-              # os=-sunos4
> +               ;;
> +       m68*-cisco)
> +               os=-aout
> +               ;;
> +-        mep-*)
> ++      mep-*)
> +               os=-elf
> +               ;;
> +       mips*-cisco)
> +@@ -1539,7 +1609,7 @@ case $basic_machine in
> +       *-ibm)
> +               os=-aix
> +               ;;
> +-      *-knuth)
> ++      *-knuth)
> +               os=-mmixware
> +               ;;
> +       *-wec)
> diff --git a/meta/recipes-extended/ltp/ltp_20140115.bb b/meta/recipes-extended/ltp/ltp_20140115.bb
> index 4e20f24..fe65c2f 100644
> --- a/meta/recipes-extended/ltp/ltp_20140115.bb
> +++ b/meta/recipes-extended/ltp/ltp_20140115.bb
> @@ -25,6 +25,7 @@ SRCREV = "c8b3e28097e7d3208df9daceaf92c25eae87ebf0"
>  SRC_URI = "git://github.com/linux-test-project/ltp.git \
>      file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \
>      file://regen-makefile.patch \
> +    file://ffsb-arm64.patch \
>  "
>
>  S = "${WORKDIR}/git"
> @@ -36,6 +37,12 @@ TARGET_CC_ARCH += "${LDFLAGS}"
>  export prefix = "/opt/ltp"
>  export exec_prefix = "/opt/ltp"
>
> +# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
> +# we explicitly force regeneration of that directory and pass configure options.
> +do_configure_prepend() {
> +    (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
> +}
> +
>  do_install(){
>      install -d ${D}/opt/ltp/
>      oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
> --
> 1.8.1.2
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Fathi Boudra - Jan. 20, 2014, 11:19 a.m.
On 20 January 2014 11:33, Burton, Ross <ross.burton@intel.com> wrote:
> For this and others in the series: don't forget to put the recipe name
> in the short log.

ok

> Do we really need to patch config.sub/guess, why can't we update those
> at do_configure time globally?

right, we don't need to patch config.sub/guess anymore since I added
do_configure_prepend() later on to run autoreconf -vfi.

> Ross
>
> On 17 January 2014 21:57, Fathi Boudra <fathi.boudra@linaro.org> wrote:
>> Add ffsb-arm64.patch:
>>  - get rid of the hardcoded configure call preventing cross-compilation
>>   - update config.guess/config.sub to add aarch64 supported
>> Add do_configure_prepend to explicitly force regeneration the configure
>> file and pass configure options as appropriate.
>>
>> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
>> ---
>>  meta/recipes-extended/ltp/ltp/ffsb-arm64.patch | 1412 ++++++++++++++++++++++++
>>  meta/recipes-extended/ltp/ltp_20140115.bb      |    7 +
>>  2 files changed, 1419 insertions(+)
>>  create mode 100644 meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
>>
>> diff --git a/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
>> new file mode 100644
>> index 0000000..1376f9d
>> --- /dev/null
>> +++ b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
>> @@ -0,0 +1,1412 @@
>> +Fix ffsb build failure on arm64 architecture:
>> + - get rid of the hardcoded configure call preventing cross-compilation
>> + - update config.guess/config.sub to add aarch64 supported
>> +
>> +Upstream-Status: Pending
>> +Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
>> +
>> +---
>> + utils/Makefile                  |    2
>> + utils/ffsb-6.0-rc2/config.guess |  457 +++++++++++++++++++---------------------
>> + utils/ffsb-6.0-rc2/config.sub   |  252 ++++++++++++++--------
>> + 3 files changed, 382 insertions(+), 329 deletions(-)
>> +
>> +--- a/utils/Makefile
>> ++++ b/utils/Makefile
>> +@@ -29,7 +29,6 @@ FILTER_OUT_DIRS              := $(FFSBDIR)
>> + FFSB                  := $(FFSBDIR)/ffsb
>> +
>> + $(FFSB): $(FFSBDIR)
>> +-      cd $^; ./configure
>> +       $(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
>> +       cp $(FFSBDIR)/ffsb ffsb
>> +
>> +--- a/utils/ffsb-6.0-rc2/config.guess
>> ++++ b/utils/ffsb-6.0-rc2/config.guess
>> +@@ -1,10 +1,10 @@
>> + #! /bin/sh
>> + # Attempt to guess a canonical system name.
>> + #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
>> +-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
>> +-#   Free Software Foundation, Inc.
>> ++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
>> ++#   2011, 2012 Free Software Foundation, Inc.
>> +
>> +-timestamp='2009-08-19'
>> ++timestamp='2012-09-25'
>> +
>> + # This file is free software; you can redistribute it and/or modify it
>> + # under the terms of the GNU General Public License as published by
>> +@@ -17,9 +17,7 @@ timestamp='2009-08-19'
>> + # General Public License for more details.
>> + #
>> + # You should have received a copy of the GNU General Public License
>> +-# along with this program; if not, write to the Free Software
>> +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
>> +-# 02110-1301, USA.
>> ++# along with this program; if not, see <http://www.gnu.org/licenses/>.
>> + #
>> + # As a special exception to the GNU General Public License, if you
>> + # distribute this file as part of a program that contains a
>> +@@ -56,8 +54,9 @@ version="\
>> + GNU config.guess ($timestamp)
>> +
>> + Originally written by Per Bothner.
>> +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
>> +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
>> ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
>> ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
>> ++Free Software Foundation, Inc.
>> +
>> + This is free software; see the source for copying conditions.  There is NO
>> + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
>> +@@ -139,31 +138,12 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
>> + UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
>> + UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
>> +
>> +-case "${UNAME_SYSTEM}" in
>> +-Linux|GNU/*)
>> +-      eval $set_cc_for_build
>> +-      cat << EOF > $dummy.c
>> +-      #include <features.h>
>> +-      #ifdef __UCLIBC__
>> +-      # ifdef __UCLIBC_CONFIG_VERSION__
>> +-      LIBC=uclibc __UCLIBC_CONFIG_VERSION__
>> +-      # else
>> +-      LIBC=uclibc
>> +-      # endif
>> +-      #else
>> +-      LIBC=gnu
>> +-      #endif
>> +-EOF
>> +-      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
>> +-      ;;
>> +-esac
>> +-
>> + # Note: order is significant - the case branches are not exclusive.
>> +
>> + case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
>> +     *:NetBSD:*:*)
>> +       # NetBSD (nbsd) targets should (where applicable) match one or
>> +-      # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
>> ++      # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
>> +       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
>> +       # switched to ELF, *-*-netbsd* would select the old
>> +       # object file format.  This provides both forward
>> +@@ -199,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +               fi
>> +               ;;
>> +           *)
>> +-              os=netbsd
>> ++              os=netbsd
>> +               ;;
>> +       esac
>> +       # The OS release
>> +@@ -220,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
>> +       echo "${machine}-${os}${release}"
>> +       exit ;;
>> ++    *:Bitrig:*:*)
>> ++      UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
>> ++      echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
>> ++      exit ;;
>> +     *:OpenBSD:*:*)
>> +       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
>> +       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
>> +@@ -242,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
>> +               ;;
>> +       *5.*)
>> +-              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
>> ++              UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
>> +               ;;
>> +       esac
>> +       # According to Compaq, /usr/sbin/psrinfo has been available on
>> +@@ -288,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +       # A Xn.n version is an unreleased experimental baselevel.
>> +       # 1.2 uses "1.2" for uname -r.
>> +       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
>> +-      exit ;;
>> ++      # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
>> ++      exitcode=$?
>> ++      trap '' 0
>> ++      exit $exitcode ;;
>> +     Alpha\ *:Windows_NT*:*)
>> +       # How do we know it's Interix rather than the generic POSIX subsystem?
>> +       # Should we change UNAME_MACHINE based on the output of uname instead
>> +@@ -314,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +       echo s390-ibm-zvmoe
>> +       exit ;;
>> +     *:OS400:*:*)
>> +-        echo powerpc-ibm-os400
>> ++      echo powerpc-ibm-os400
>> +       exit ;;
>> +     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
>> +       echo arm-acorn-riscix${UNAME_RELEASE}
>> +       exit ;;
>> +-    arm:riscos:*:*|arm:RISCOS:*:*)
>> ++    arm*:riscos:*:*|arm*:RISCOS:*:*)
>> +       echo arm-unknown-riscos
>> +       exit ;;
>> +     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
>> +@@ -352,6 +339,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
>> +       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
>> +       exit ;;
>> ++    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
>> ++      echo i386-pc-auroraux${UNAME_RELEASE}
>> ++      exit ;;
>> +     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
>> +       eval $set_cc_for_build
>> +       SUN_ARCH="i386"
>> +@@ -410,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
>> +     # MiNT.  But MiNT is downward compatible to TOS, so this should
>> +     # be no problem.
>> +     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
>> +-        echo m68k-atari-mint${UNAME_RELEASE}
>> ++      echo m68k-atari-mint${UNAME_RELEASE}
>> +       exit ;;
>> +     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
>> +       echo m68k-atari-mint${UNAME_RELEASE}
>> +-        exit ;;
>> ++      exit ;;
>> +     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
>> +-        echo m68k-atari-mint${UNAME_RELEASE}
>> ++      echo m68k-atari-mint${UNAME_RELEASE}
>> +       exit ;;
>> +     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
>> +-        echo m68k-milan-mint${UNAME_RELEASE}
>> +-        exit ;;
>> ++      echo m68k-milan-mint${UNAME_RELEASE}
>> ++      exit ;;
>> +     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
>> +-        echo m68k-hades-mint${UNAME_RELEASE}
>> +-        exit ;;
>> ++      echo m68k-hades-mint${UNAME_RELEASE}
>> ++      exit ;;
>> +     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
>> +-        echo m68k-unknown-mint${UNAME_RELEASE}
>> +-        exit ;;
>> ++      echo m68k-unknown-mint${UNAME_RELEASE}
>> ++      exit ;;
>> +     m68k:machten:*:*)
>> +       echo m68k-apple-machten${UNAME_RELEASE}
>> +       exit ;;
>> +@@ -496,8 +486,8 @@ EOF
>> +       echo m88k-motorola-sysv3
>> +       exit ;;
>> +     AViiON:dgux:*:*)
>> +-        # DG/UX returns AViiON for all architectures
>> +-        UNAME_PROCESSOR=`/usr/bin/uname -p`
>> ++      # DG/UX returns AViiON for all architectures
>> ++      UNAME_PROCESSOR=`/usr/bin/uname -p`
>> +       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
>> +       then
>> +           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
>> +@@ -510,7 +500,7 @@ EOF
>> +       else
>> +           echo i586-dg-dgux${UNAME_RELEASE}
>> +       fi
>> +-      exit ;;
>> ++      exit ;;
>> +     M88*:DolphinOS:*:*)       # DolphinOS (SVR3)
>> +       echo m88k-dolphin-sysv3
>> +       exit ;;
>> +@@ -567,7 +557,7 @@ EOF
>> +               echo rs6000-ibm-aix3.2
>> +       fi
>> +       exit ;;
>> +-    *:AIX:*:[456])
>> ++    *:AIX:*:[4567])
>> +       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
>> +       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
>> +               IBM_ARCH=rs6000
>> +@@ -610,52 +600,52 @@ EOF
>> +           9000/[678][0-9][0-9])
>> +               if [ -x /usr/bin/getconf ]; then
>> +                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
>> +-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
>> +-                    case "${sc_cpu_version}" in
>> +-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
>> +-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
>> +-                      532)                      # CPU_PA_RISC2_0
>> +-                        case "${sc_kernel_bits}" in
>> +-                          32) HP_ARCH="hppa2.0n" ;;
>> +-                          64) HP_ARCH="hppa2.0w" ;;
>> ++                  sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
>> ++                  case "${sc_cpu_version}" in
>> ++                    523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
>> ++                    528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
>> ++                    532)                      # CPU_PA_RISC2_0
>> ++                      case "${sc_kernel_bits}" in
>> ++                        32) HP_ARCH="hppa2.0n" ;;
>> ++                        64) HP_ARCH="hppa2.0w" ;;
>> +                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
>> +-                        esac ;;
>> +-                    esac
>> ++                      esac ;;
>> ++                  esac
>> +               fi
>> +               if [ "${HP_ARCH}" = "" ]; then
>> +                   eval $set_cc_for_build
>> +-                  sed 's/^              //' << EOF >$dummy.c
>> ++                  sed 's/^            //' << EOF >$dummy.c
>> ++
>> ++              #define _HPUX_SOURCE
>> ++              #include <stdlib.h>
>> ++              #include <unistd.h>
>> ++
>> ++              int main ()
>> ++              {
>> ++              #if defined(_SC_KERNEL_BITS)
>> ++                  long bits = sysconf(_SC_KERNEL_BITS);
>> ++              #endif
>> ++                  long cpu  = sysconf (_SC_CPU_VERSION);
>> +
>> +-              #define _HPUX_SOURCE
>> +-              #include <stdlib.h>
>> +-              #include <unistd.h>
>> +-
>> +-              int main ()
>> +-              {
>> +-              #if defined(_SC_KERNEL_BITS)
>> +-                  long bits = sysconf(_SC_KERNEL_BITS);
>> +-              #endif
>> +-                  long cpu  = sysconf (_SC_CPU_VERSION);
>> +-
>> +-                  switch (cpu)
>> +-                      {
>> +-                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
>> +-                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
>> +-                      case CPU_PA_RISC2_0:
>> +-              #if defined(_SC_KERNEL_BITS)
>> +-                          switch (bits)
>> +-                              {
>> +-                              case 64: puts ("hppa2.0w"); break;
>> +-                              case 32: puts ("hppa2.0n"); break;
>> +-                              default: puts ("hppa2.0"); break;
>> +-                              } break;
>> +-              #else  /* !defined(_SC_KERNEL_BITS) */
>> +-                          puts ("hppa2.0"); break;
>> +-              #endif
>> +-                      default: puts ("hppa1.0"); break;
>> +-                      }
>> +-                  exit (0);
>> +-              }
>> ++                  switch (cpu)
>> ++                      {
>> ++                      case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
>> ++                      case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
>> ++                      case CPU_PA_RISC2_0:
>> ++              #if defined(_SC_KERNEL_BITS)
>> ++                          switch (bits)
>> ++                              {
>> ++                              case 64: puts ("hppa2.0w"); break;
>> ++                              case 32: puts ("hppa2.0n"); break;
>> ++                              default: puts ("hppa2.0"); break;
>> ++                              } break;
>> ++              #else  /* !defined(_SC_KERNEL_BITS) */
>> ++                          puts ("hppa2.0"); break;
>> ++              #endif
>> ++                      default: puts ("hppa1.0"); break;
>> ++                      }
>> ++                  exit (0);
>> ++              }
>> + EOF
>> +                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
>> +                   test -z "$HP_ARCH" && HP_ARCH=hppa
>> +@@ -746,22 +736,22 @@ EOF
>> +       exit ;;
>> +     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
>> +       echo c1-convex-bsd
>> +-        exit ;;
>> ++      exit ;;
>> +     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
>> +       if getsysinfo -f scalar_acc
>> +       then echo c32-convex-bsd
>> +       else echo c2-convex-bsd
>> +       fi
>> +-        exit ;;
>> ++      exit ;;
>> +     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
>> +       echo c34-convex-bsd
>> +-        exit ;;
>> ++      exit ;;
>> +     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
>> +       echo c38-convex-bsd
>> +-        exit ;;
>> ++      exit ;;
>> +     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
>> +       echo c4-convex-bsd
>> +-        exit ;;
>> ++      exit ;;
>> +     CRAY*Y-MP:*:*:*)
>> +       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
>> +       exit ;;
>> +@@ -785,14 +775,14 @@ EOF
>> +       exit ;;
>> +     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
>> +       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
>> +-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
>> +-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
>> +-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
>> +-        exit ;;
>> ++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
>> ++      FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
>> ++      echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
>> ++      exit ;;
>> +     5000:UNIX_System_V:4.*:*)
>> +-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
>> +-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
>> +-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
>> ++      FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
>> ++      FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
>> ++      echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
>> +       exit ;;
>> +     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
>> +       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
>> +@@ -804,34 +794,39 @@ EOF
>> +       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
>> +       exit ;;
>> +     *:FreeBSD:*:*)
>> +-      case ${UNAME_MACHINE} in
>> +-          pc98)
>> +-              echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
>> ++      UNAME_PROCESSOR=`/usr/bin/uname -p`
>> ++      case ${UNAME_PROCESSOR} in
>> +           amd64)
>> +               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
>> +           *)
>> +-              echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
>> ++              echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
>> +       esac
>> +       exit ;;
>> +     i*:CYGWIN*:*)
>> +       echo ${UNAME_MACHINE}-pc-cygwin
>> +       exit ;;
>> ++    *:MINGW64*:*)
>> ++      echo ${UNAME_MACHINE}-pc-mingw64
>> ++      exit ;;
>> +     *:MINGW*:*)
>> +       echo ${UNAME_MACHINE}-pc-mingw32
>> +       exit ;;
>> ++    i*:MSYS*:*)
>> ++      echo ${UNAME_MACHINE}-pc-msys
>> ++      exit ;;
>> +     i*:windows32*:*)
>> +-      # uname -m includes "-pc" on this system.
>> +-      echo ${UNAME_MACHINE}-mingw32
>> ++      # uname -m includes "-pc" on this system.
>> ++      echo ${UNAME_MACHINE}-mingw32
>> +       exit ;;
>> +     i*:PW*:*)
>> +       echo ${UNAME_MACHINE}-pc-pw32
>> +       exit ;;
>> +-    *:Interix*:[3456]*)
>> +-      case ${UNAME_MACHINE} in
>> ++    *:Interix*:*)
>> ++      case ${UNAME_MACHINE} in
>> +           x86)
>> +               echo i586-pc-interix${UNAME_RELEASE}
>> +               exit ;;
>> +-          EM64T | authenticamd | genuineintel)
>> ++          authenticamd | genuineintel | EM64T)
>> +               echo x86_64-unknown-interix${UNAME_RELEASE}
>> +               exit ;;
>> +           IA64)
>> +@@ -868,41 +863,82 @@ EOF
>> +       exit ;;
>> +     *:GNU/*:*:*)
>> +       # other systems with GNU libc and userland
>> +-      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
>> +       exit ;;
>> +     i*86:Minix:*:*)
>> +       echo ${UNAME_MACHINE}-pc-minix
>> +       exit ;;
>> ++    aarch64:Linux:*:*)
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> ++      exit ;;
>> ++    aarch64_be:Linux:*:*)
>> ++      UNAME_MACHINE=aarch64_be
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> ++      exit ;;
>> ++    alpha:Linux:*:*)
>> ++      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
>> ++        EV5)   UNAME_MACHINE=alphaev5 ;;
>> ++        EV56)  UNAME_MACHINE=alphaev56 ;;
>> ++        PCA56) UNAME_MACHINE=alphapca56 ;;
>> ++        PCA57) UNAME_MACHINE=alphapca56 ;;
>> ++        EV6)   UNAME_MACHINE=alphaev6 ;;
>> ++        EV67)  UNAME_MACHINE=alphaev67 ;;
>> ++        EV68*) UNAME_MACHINE=alphaev68 ;;
>> ++      esac
>> ++      objdump --private-headers /bin/sh | grep -q ld.so.1
>> ++      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
>> ++      exit ;;
>> +     arm*:Linux:*:*)
>> +       eval $set_cc_for_build
>> +       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
>> +           | grep -q __ARM_EABI__
>> +       then
>> +-          echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++          echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       else
>> +-          echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
>> ++          if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
>> ++              | grep -q __ARM_PCS_VFP
>> ++          then
>> ++              echo ${UNAME_MACHINE}-unknown-linux-gnueabi
>> ++          else
>> ++              echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
>> ++          fi
>> +       fi
>> +       exit ;;
>> +     avr32*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     cris:Linux:*:*)
>> +-      echo cris-axis-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-axis-linux-gnu
>> +       exit ;;
>> +     crisv32:Linux:*:*)
>> +-      echo crisv32-axis-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-axis-linux-gnu
>> +       exit ;;
>> +     frv:Linux:*:*)
>> +-      echo frv-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> ++      exit ;;
>> ++    hexagon:Linux:*:*)
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> ++      exit ;;
>> ++    i*86:Linux:*:*)
>> ++      LIBC=gnu
>> ++      eval $set_cc_for_build
>> ++      sed 's/^        //' << EOF >$dummy.c
>> ++      #ifdef __dietlibc__
>> ++      LIBC=dietlibc
>> ++      #endif
>> ++EOF
>> ++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
>> ++      echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
>> +       exit ;;
>> +     ia64:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     m32r*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     m68*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     mips:Linux:*:* | mips64:Linux:*:*)
>> +       eval $set_cc_for_build
>> +@@ -920,125 +956,56 @@ EOF
>> +       #endif
>> +       #endif
>> + EOF
>> +-      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
>> +-          /^CPU/{
>> +-              s: ::g
>> +-              p
>> +-          }'`"
>> +-      test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
>> ++      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
>> ++      test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
>> +       ;;
>> +     or32:Linux:*:*)
>> +-      echo or32-unknown-linux-${LIBC}
>> +-      exit ;;
>> +-    ppc:Linux:*:*)
>> +-      echo powerpc-unknown-linux-${LIBC}
>> +-      exit ;;
>> +-    ppc64:Linux:*:*)
>> +-      echo powerpc64-unknown-linux-${LIBC}
>> +-      exit ;;
>> +-    alpha:Linux:*:*)
>> +-      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
>> +-        EV5)   UNAME_MACHINE=alphaev5 ;;
>> +-        EV56)  UNAME_MACHINE=alphaev56 ;;
>> +-        PCA56) UNAME_MACHINE=alphapca56 ;;
>> +-        PCA57) UNAME_MACHINE=alphapca56 ;;
>> +-        EV6)   UNAME_MACHINE=alphaev6 ;;
>> +-        EV67)  UNAME_MACHINE=alphaev67 ;;
>> +-        EV68*) UNAME_MACHINE=alphaev68 ;;
>> +-        esac
>> +-      objdump --private-headers /bin/sh | grep -q ld.so.1
>> +-      if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     padre:Linux:*:*)
>> +-      echo sparc-unknown-linux-${LIBC}
>> ++      echo sparc-unknown-linux-gnu
>> ++      exit ;;
>> ++    parisc64:Linux:*:* | hppa64:Linux:*:*)
>> ++      echo hppa64-unknown-linux-gnu
>> +       exit ;;
>> +     parisc:Linux:*:* | hppa:Linux:*:*)
>> +       # Look for CPU level
>> +       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
>> +-        PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
>> +-        PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
>> +-        *)    echo hppa-unknown-linux-${LIBC} ;;
>> ++        PA7*) echo hppa1.1-unknown-linux-gnu ;;
>> ++        PA8*) echo hppa2.0-unknown-linux-gnu ;;
>> ++        *)    echo hppa-unknown-linux-gnu ;;
>> +       esac
>> +       exit ;;
>> +-    parisc64:Linux:*:* | hppa64:Linux:*:*)
>> +-      echo hppa64-unknown-linux-${LIBC}
>> ++    ppc64:Linux:*:*)
>> ++      echo powerpc64-unknown-linux-gnu
>> ++      exit ;;
>> ++    ppc:Linux:*:*)
>> ++      echo powerpc-unknown-linux-gnu
>> +       exit ;;
>> +     s390:Linux:*:* | s390x:Linux:*:*)
>> +       echo ${UNAME_MACHINE}-ibm-linux
>> +       exit ;;
>> +     sh64*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     sh*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     sparc:Linux:*:* | sparc64:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> ++      exit ;;
>> ++    tile*:Linux:*:*)
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     vax:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-dec-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-dec-linux-gnu
>> +       exit ;;
>> +     x86_64:Linux:*:*)
>> +-      echo x86_64-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +     xtensa*:Linux:*:*)
>> +-      echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
>> ++      echo ${UNAME_MACHINE}-unknown-linux-gnu
>> +       exit ;;
>> +-    i*86:Linux:*:*)
>> +-      # The BFD linker knows what the default object file format is, so
>> +-      # first see if it will tell us. cd to the root directory to prevent
>> +-      # problems with other programs or directories called `ld' in the path.
>> +-      # Set LC_ALL=C to ensure ld outputs messages in English.
>> +-      ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
>> +-                       | sed -ne '/supported targets:/!d
>> +-                                  s/[         ][      ]*/ /g
>> +-                                  s/.*supported targets: *//
>> +-                                  s/ .*//
>> +-                                  p'`
>> +-        case "$ld_supported_targets" in
>> +-        elf32-i386)
>> +-              TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
>> +-              ;;
>> +-      esac
>> +-      # This should get integrated into the C code below, but now we hack
>> +-      if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
>> +-      # Determine whether the default compiler is a.out or elf
>> +-      eval $set_cc_for_build
>> +-      sed 's/^        //' << EOF >$dummy.c
>> +-      #include <features.h>
>> +-      #ifdef __ELF__
>> +-      # ifdef __GLIBC__
>> +-      #  if __GLIBC__ >= 2
>> +-      LIBC=gnu
>> +-      #  else
>> +-      LIBC=gnulibc1
>> +-      #  endif
>> +-      # else
>> +-      LIBC=gnulibc1
>> +-      # endif
>> +-      #else
>> +-      #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
>> +-      LIBC=gnu
>> +-      #else
>> +-      LIBC=gnuaout
>> +-      #endif
>> +-      #endif
>> +-      #ifdef __dietlibc__
>> +-      LIBC=dietlibc
>> +-      #endif
>> +-EOF
>> +-      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
>> +-          /^LIBC/{
>> +-              s: ::g
>> +-              p
>> +-          }'`"
>> +-      test x"${LIBC}" != x && {
>> +-              echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
>> +-              exit
>> +-      }
>> +-      test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
>> +-      ;;
>> +     i*86:DYNIX/ptx:4*:*)
>> +       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
>> +       # earlier versions are messed up and put the nodename in both
>> +@@ -1046,11 +1013,11 @@ EOF
>> +       echo i386-sequent-sysv4
>> +       exit ;;
>> +     i*86:UNIX_SV:4.2MP:2.*)
>> +-        # Unixware is an offshoot of SVR4, but it has its own version
>> +-        # number series starting with 2...
>> +-        # I am not positive that other SVR4 systems won't match this,
>> ++      # Unixware is an offshoot of SVR4, but it has its own version
>> ++      # number series starting with 2...
>> ++      # I am not positive that other SVR4 systems won't match this,
>> +       # I just have to hope.  -- rms.
>> +-        # Use sysv4.2uw... so that sysv4* matches it.
>> ++      # Use sysv4.2uw... so that sysv4* matches it.
>> +       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
>> +       exit ;;
>> +     i*86:OS/2:*:*)
>> +@@ -1082,7 +1049,7 @@ EOF
>> +       fi
>> +       exit ;;
>> +     i*86:*:5:[678]*)
>> +-      # UnixWare 7.x, OpenUNIX and OpenServer 6.
>> ++      # UnixWare 7.x, OpenUNIX and OpenServer 6.
>> +       case `/bin/uname -X | grep "^Machine"` in
>> +           *486*)           UNAME_MACHINE=i486 ;;
>> +           *Pentium)        UNAME_MACHINE=i586 ;;
>> +@@ -1110,13 +1077,13 @@ EOF
>> +       exit ;;
>> +     pc:*:*:*)
>> +       # Left here for compatibility:
>> +-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
>> +-        # the processor, so we play safe by assuming i586.
>> ++      # uname -m prints for DJGPP always 'pc', but it prints nothing about
>> ++      # the processor, so we play safe by assuming i586.
>> +       # Note: whatever this is, it MUST be the same as what config.sub
>> +       # prints for the "djgpp" host, or else GDB configury will decide that
>> +       # this is a cross-build.
>> +       echo i586-pc-msdosdjgpp
>> +-        exit ;;
>> ++      exit ;;
>> +     Intel:Mach:3*:*)
>> +       echo i386-pc-mach3
>> +       exit ;;
>> +@@ -1151,8 +1118,8 @@ EOF
>> +       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
>> +         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
>> +     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
>> +-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
>> +-          && { echo i486-ncr-sysv4; exit; } ;;
>> ++      /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
>> ++        && { echo i486-ncr-sysv4; exit; } ;;
>> +     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
>> +       OS_REL='.3'
>> +       test -r /etc/.relid \
>> +@@ -1195,10 +1162,10 @@ EOF
>> +               echo ns32k-sni-sysv
>> +       fi
>> +       exit ;;
>> +-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
>> +-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
>> +-        echo i586-unisys-sysv4
>> +-        exit ;;
>> ++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
>> ++                      # says <Richard.M.Bartel@ccMail.Census.GOV>
>> ++      echo i586-unisys-sysv4
>> ++      exit ;;
>> +     *:UNIX_System_V:4*:FTX*)
>> +       # From Gerald Hewes <hewes@openmarket.com>.
>> +       # How about differentiating between stratus architectures? -djm
>> +@@ -1224,11 +1191,11 @@ EOF
>> +       exit ;;
>> +     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
>> +       if [ -d /usr/nec ]; then
>> +-              echo mips-nec-sysv${UNAME_RELEASE}
>> ++              echo mips-nec-sysv${UNAME_RELEASE}
>> +       else
>> +-              echo mips-unknown-sysv${UNAME_RELEASE}
>> ++              echo mips-unknown-sysv${UNAME_RELEASE}
>> +       fi
>> +-        exit ;;
>> ++      exit ;;
>> +     BeBox:BeOS:*:*)   # BeOS running on hardware made by Be, PPC only.
>> +       echo powerpc-be-beos
>> +       exit ;;
>> +@@ -1241,6 +1208,9 @@ EOF
>> +     BePC:Haiku:*:*)   # Haiku running on Intel PC compatible.
>> +       echo i586-pc-haiku
>> +       exit ;;
>> ++    x86_64:Haiku:*:*)
>> ++      echo x86_64-unknown-haiku
>> ++      exit ;;
>> +     SX-4:SUPER-UX:*:*)
>> +       echo sx4-nec-superux${UNAME_RELEASE}
>> +       exit ;;
>> +@@ -1268,6 +1238,16 @@ EOF
>> +     *:Darwin:*:*)
>> +       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
>> +       case $UNAME_PROCESSOR in
>> ++          i386)
>> ++              eval $set_cc_for_build
>> ++              if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
>> ++                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
>> ++                    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
>> ++                    grep IS_64BIT_ARCH >/dev/null
>> ++                then
>> ++                    UNAME_PROCESSOR="x86_64"
>> ++                fi
>> ++              fi ;;
>> +           unknown) UNAME_PROCESSOR=powerpc ;;
>> +       esac
>> +       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
>> +@@ -1283,7 +1263,10 @@ EOF
>> +     *:QNX:*:4*)
>> +       echo i386-pc-qnx
>> +       exit ;;
>> +-    NSE-?:NONSTOP_KERNEL:*:*)
>> ++    NEO-?:NONSTOP_KERNEL:*:*)
>> ++      echo neo-tandem-nsk${UNAME_RELEASE}
>> ++      exit ;;
>> ++    NSE-*:NONSTOP_KERNEL:*:*)
>> +       echo nse-tandem-nsk${UNAME_RELEASE}
>> +       exit ;;
>> +     NSR-?:NONSTOP_KERNEL:*:*)
>> +@@ -1328,13 +1311,13 @@ EOF
>> +       echo pdp10-unknown-its
>> +       exit ;;
>> +     SEI:*:*:SEIUX)
>> +-        echo mips-sei-seiux${UNAME_RELEASE}
>> ++      echo mips-sei-seiux${UNAME_RELEASE}
>> +       exit ;;
>> +     *:DragonFly:*:*)
>> +       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
>> +       exit ;;
>> +     *:*VMS:*:*)
>> +-      UNAME_MACHINE=`(uname -p) 2>/dev/null`
>> ++      UNAME_MACHINE=`(uname -p) 2>/dev/null`
>> +       case "${UNAME_MACHINE}" in
>> +           A*) echo alpha-dec-vms ; exit ;;
>> +           I*) echo ia64-dec-vms ; exit ;;
>> +@@ -1352,11 +1335,11 @@ EOF
>> +     i*86:AROS:*:*)
>> +       echo ${UNAME_MACHINE}-pc-aros
>> +       exit ;;
>> ++    x86_64:VMkernel:*:*)
>> ++      echo ${UNAME_MACHINE}-unknown-esx
>> ++      exit ;;
>> + esac
>> +
>> +-#echo '(No uname command or uname output not recognized.)' 1>&2
>> +-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
>> +-
>> + eval $set_cc_for_build
>> + cat >$dummy.c <<EOF
>> + #ifdef _SEQUENT_
>> +@@ -1374,11 +1357,11 @@ main ()
>> + #include <sys/param.h>
>> +   printf ("m68k-sony-newsos%s\n",
>> + #ifdef NEWSOS4
>> +-          "4"
>> ++      "4"
>> + #else
>> +-        ""
>> ++      ""
>> + #endif
>> +-         ); exit (0);
>> ++      ); exit (0);
>> + #endif
>> + #endif
>> +
>> +--- a/utils/ffsb-6.0-rc2/config.sub
>> ++++ b/utils/ffsb-6.0-rc2/config.sub
>> +@@ -1,10 +1,10 @@
>> + #! /bin/sh
>> + # Configuration validation subroutine script.
>> + #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
>> +-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
>> +-#   Free Software Foundation, Inc.
>> ++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
>> ++#   2011, 2012 Free Software Foundation, Inc.
>> +
>> +-timestamp='2009-08-19'
>> ++timestamp='2012-10-10'
>> +
>> + # This file is (in principle) common to ALL GNU software.
>> + # The presence of a machine in this file suggests that SOME GNU software
>> +@@ -21,9 +21,7 @@ timestamp='2009-08-19'
>> + # GNU General Public License for more details.
>> + #
>> + # You should have received a copy of the GNU General Public License
>> +-# along with this program; if not, write to the Free Software
>> +-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
>> +-# 02110-1301, USA.
>> ++# along with this program; if not, see <http://www.gnu.org/licenses/>.
>> + #
>> + # As a special exception to the GNU General Public License, if you
>> + # distribute this file as part of a program that contains a
>> +@@ -75,8 +73,9 @@ Report bugs and patches to <config-patch
>> + version="\
>> + GNU config.sub ($timestamp)
>> +
>> +-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
>> +-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
>> ++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
>> ++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
>> ++Free Software Foundation, Inc.
>> +
>> + This is free software; see the source for copying conditions.  There is NO
>> + warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
>> +@@ -123,13 +122,18 @@ esac
>> + # Here we must recognize all the valid KERNEL-OS combinations.
>> + maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
>> + case $maybe_os in
>> +-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
>> +-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
>> ++  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
>> ++  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
>> ++  knetbsd*-gnu* | netbsd*-gnu* | \
>> +   kopensolaris*-gnu* | \
>> +   storm-chaos* | os2-emx* | rtmk-nova*)
>> +     os=-$maybe_os
>> +     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
>> +     ;;
>> ++  android-linux)
>> ++    os=-linux-android
>> ++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
>> ++    ;;
>> +   *)
>> +     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
>> +     if [ $basic_machine != $1 ]
>> +@@ -152,12 +156,12 @@ case $os in
>> +       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
>> +       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
>> +       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
>> +-      -apple | -axis | -knuth | -cray | -microblaze)
>> ++      -apple | -axis | -knuth | -cray | -microblaze*)
>> +               os=
>> +               basic_machine=$1
>> +               ;;
>> +-        -bluegene*)
>> +-              os=-cnk
>> ++      -bluegene*)
>> ++              os=-cnk
>> +               ;;
>> +       -sim | -cisco | -oki | -wec | -winbond)
>> +               os=
>> +@@ -173,10 +177,10 @@ case $os in
>> +               os=-chorusos
>> +               basic_machine=$1
>> +               ;;
>> +-      -chorusrdb)
>> +-              os=-chorusrdb
>> ++      -chorusrdb)
>> ++              os=-chorusrdb
>> +               basic_machine=$1
>> +-              ;;
>> ++              ;;
>> +       -hiux*)
>> +               os=-hiuxwe2
>> +               ;;
>> +@@ -221,6 +225,12 @@ case $os in
>> +       -isc*)
>> +               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
>> +               ;;
>> ++      -lynx*178)
>> ++              os=-lynxos178
>> ++              ;;
>> ++      -lynx*5)
>> ++              os=-lynxos5
>> ++              ;;
>> +       -lynx*)
>> +               os=-lynxos
>> +               ;;
>> +@@ -245,20 +255,25 @@ case $basic_machine in
>> +       # Some are omitted here because they have special meanings below.
>> +       1750a | 580 \
>> +       | a29k \
>> ++      | aarch64 | aarch64_be \
>> +       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
>> +       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
>> +       | am33_2.0 \
>> +       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
>> ++        | be32 | be64 \
>> +       | bfin \
>> +       | c4x | clipper \
>> +-      | d10v | d30v | dlx | dsp16xx | dvp \
>> ++      | d10v | d30v | dlx | dsp16xx \
>> ++      | epiphany \
>> +       | fido | fr30 | frv \
>> +       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
>> ++      | hexagon \
>> +       | i370 | i860 | i960 | ia64 \
>> +       | ip2k | iq2000 \
>> ++      | le32 | le64 \
>> +       | lm32 \
>> +       | m32c | m32r | m32rle | m68000 | m68k | m88k \
>> +-      | maxq | mb | microblaze | mcore | mep | metag \
>> ++      | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
>> +       | mips | mipsbe | mipseb | mipsel | mipsle \
>> +       | mips16 \
>> +       | mips64 | mips64el \
>> +@@ -281,27 +296,39 @@ case $basic_machine in
>> +       | moxie \
>> +       | mt \
>> +       | msp430 \
>> ++      | nds32 | nds32le | nds32be \
>> +       | nios | nios2 \
>> +       | ns16k | ns32k \
>> ++      | open8 \
>> +       | or32 \
>> +       | pdp10 | pdp11 | pj | pjl \
>> +-      | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
>> ++      | powerpc | powerpc64 | powerpc64le | powerpcle \
>> +       | pyramid \
>> ++      | rl78 | rx \
>> +       | score \
>> +       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
>> +       | sh64 | sh64le \
>> +       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
>> +       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
>> +-      | spu | strongarm \
>> +-      | tahoe | thumb | tic4x | tic80 | tron \
>> +-      | v850 | v850e \
>> ++      | spu \
>> ++      | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
>> ++      | ubicom32 \
>> ++      | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
>> +       | we32k \
>> +-      | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
>> ++      | x86 | xc16x | xstormy16 | xtensa \
>> +       | z8k | z80)
>> +               basic_machine=$basic_machine-unknown
>> +               ;;
>> +-      m6811 | m68hc11 | m6812 | m68hc12)
>> +-              # Motorola 68HC11/12.
>> ++      c54x)
>> ++              basic_machine=tic54x-unknown
>> ++              ;;
>> ++      c55x)
>> ++              basic_machine=tic55x-unknown
>> ++              ;;
>> ++      c6x)
>> ++              basic_machine=tic6x-unknown
>> ++              ;;
>> ++      m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
>> +               basic_machine=$basic_machine-unknown
>> +               os=-none
>> +               ;;
>> +@@ -311,6 +338,21 @@ case $basic_machine in
>> +               basic_machine=mt-unknown
>> +               ;;
>> +
>> ++      strongarm | thumb | xscale)
>> ++              basic_machine=arm-unknown
>> ++              ;;
>> ++      xgate)
>> ++              basic_machine=$basic_machine-unknown
>> ++              os=-none
>> ++              ;;
>> ++      xscaleeb)
>> ++              basic_machine=armeb-unknown
>> ++              ;;
>> ++
>> ++      xscaleel)
>> ++              basic_machine=armel-unknown
>> ++              ;;
>> ++
>> +       # We use `pc' rather than `unknown'
>> +       # because (1) that's what they normally are, and
>> +       # (2) the word "unknown" tends to confuse beginning users.
>> +@@ -325,25 +367,30 @@ case $basic_machine in
>> +       # Recognize the basic CPU types with company name.
>> +       580-* \
>> +       | a29k-* \
>> ++      | aarch64-* | aarch64_be-* \
>> +       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
>> +       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
>> +       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
>> +       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
>> +       | avr-* | avr32-* \
>> ++      | be32-* | be64-* \
>> +       | bfin-* | bs2000-* \
>> +-      | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
>> ++      | c[123]* | c30-* | [cjt]90-* | c4x-* \
>> +       | clipper-* | craynv-* | cydra-* \
>> +       | d10v-* | d30v-* | dlx-* \
>> +       | elxsi-* \
>> +       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
>> +       | h8300-* | h8500-* \
>> +       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
>> ++      | hexagon-* \
>> +       | i*86-* | i860-* | i960-* | ia64-* \
>> +       | ip2k-* | iq2000-* \
>> ++      | le32-* | le64-* \
>> +       | lm32-* \
>> +       | m32c-* | m32r-* | m32rle-* \
>> +       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
>> +-      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
>> ++      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
>> ++      | microblaze-* | microblazeel-* \
>> +       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
>> +       | mips16-* \
>> +       | mips64-* | mips64el-* \
>> +@@ -365,24 +412,29 @@ case $basic_machine in
>> +       | mmix-* \
>> +       | mt-* \
>> +       | msp430-* \
>> ++      | nds32-* | nds32le-* | nds32be-* \
>> +       | nios-* | nios2-* \
>> +       | none-* | np1-* | ns16k-* | ns32k-* \
>> ++      | open8-* \
>> +       | orion-* \
>> +       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
>> +-      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
>> ++      | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
>> +       | pyramid-* \
>> +-      | romp-* | rs6000-* \
>> ++      | rl78-* | romp-* | rs6000-* | rx-* \
>> +       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
>> +       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
>> +       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
>> +       | sparclite-* \
>> +-      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
>> +-      | tahoe-* | thumb-* \
>> +-      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
>> ++      | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
>> ++      | tahoe-* \
>> ++      | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
>> ++      | tile*-* \
>> +       | tron-* \
>> +-      | v850-* | v850e-* | vax-* \
>> ++      | ubicom32-* \
>> ++      | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
>> ++      | vax-* \
>> +       | we32k-* \
>> +-      | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
>> ++      | x86-* | x86_64-* | xc16x-* | xps100-* \
>> +       | xstormy16-* | xtensa*-* \
>> +       | ymp-* \
>> +       | z8k-* | z80-*)
>> +@@ -407,7 +459,7 @@ case $basic_machine in
>> +               basic_machine=a29k-amd
>> +               os=-udi
>> +               ;;
>> +-      abacus)
>> ++      abacus)
>> +               basic_machine=abacus-unknown
>> +               ;;
>> +       adobe68k)
>> +@@ -477,11 +529,20 @@ case $basic_machine in
>> +               basic_machine=powerpc-ibm
>> +               os=-cnk
>> +               ;;
>> ++      c54x-*)
>> ++              basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
>> ++              ;;
>> ++      c55x-*)
>> ++              basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
>> ++              ;;
>> ++      c6x-*)
>> ++              basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
>> ++              ;;
>> +       c90)
>> +               basic_machine=c90-cray
>> +               os=-unicos
>> +               ;;
>> +-        cegcc)
>> ++      cegcc)
>> +               basic_machine=arm-unknown
>> +               os=-cegcc
>> +               ;;
>> +@@ -513,7 +574,7 @@ case $basic_machine in
>> +               basic_machine=craynv-cray
>> +               os=-unicosmp
>> +               ;;
>> +-      cr16)
>> ++      cr16 | cr16-*)
>> +               basic_machine=cr16-unknown
>> +               os=-elf
>> +               ;;
>> +@@ -671,7 +732,6 @@ case $basic_machine in
>> +       i370-ibm* | ibm*)
>> +               basic_machine=i370-ibm
>> +               ;;
>> +-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
>> +       i*86v32)
>> +               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
>> +               os=-sysv32
>> +@@ -729,9 +789,13 @@ case $basic_machine in
>> +               basic_machine=ns32k-utek
>> +               os=-sysv
>> +               ;;
>> +-        microblaze)
>> ++      microblaze*)
>> +               basic_machine=microblaze-xilinx
>> +               ;;
>> ++      mingw64)
>> ++              basic_machine=x86_64-pc
>> ++              os=-mingw64
>> ++              ;;
>> +       mingw32)
>> +               basic_machine=i386-pc
>> +               os=-mingw32
>> +@@ -747,24 +811,6 @@ case $basic_machine in
>> +               basic_machine=m68k-atari
>> +               os=-mint
>> +               ;;
>> +-      mipsEE* | ee | ps2)
>> +-              basic_machine=mips64r5900el-scei
>> +-              case $os in
>> +-                  -linux*)
>> +-                      ;;
>> +-                  *)
>> +-                      os=-elf
>> +-                      ;;
>> +-              esac
>> +-              ;;
>> +-      iop)
>> +-              basic_machine=mipsel-scei
>> +-              os=-irx
>> +-              ;;
>> +-      dvp)
>> +-              basic_machine=dvp-scei
>> +-              os=-elf
>> +-              ;;
>> +       mips3*-*)
>> +               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
>> +               ;;
>> +@@ -786,10 +832,18 @@ case $basic_machine in
>> +       ms1-*)
>> +               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
>> +               ;;
>> ++      msys)
>> ++              basic_machine=i386-pc
>> ++              os=-msys
>> ++              ;;
>> +       mvs)
>> +               basic_machine=i370-ibm
>> +               os=-mvs
>> +               ;;
>> ++      nacl)
>> ++              basic_machine=le32-unknown
>> ++              os=-nacl
>> ++              ;;
>> +       ncr3000)
>> +               basic_machine=i486-ncr
>> +               os=-sysv4
>> +@@ -854,6 +908,12 @@ case $basic_machine in
>> +       np1)
>> +               basic_machine=np1-gould
>> +               ;;
>> ++      neo-tandem)
>> ++              basic_machine=neo-tandem
>> ++              ;;
>> ++      nse-tandem)
>> ++              basic_machine=nse-tandem
>> ++              ;;
>> +       nsr-tandem)
>> +               basic_machine=nsr-tandem
>> +               ;;
>> +@@ -936,9 +996,10 @@ case $basic_machine in
>> +               ;;
>> +       power)  basic_machine=power-ibm
>> +               ;;
>> +-      ppc)    basic_machine=powerpc-unknown
>> ++      ppc | ppcbe)    basic_machine=powerpc-unknown
>> +               ;;
>> +-      ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
>> ++      ppc-* | ppcbe-*)
>> ++              basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
>> +               ;;
>> +       ppcle | powerpclittle | ppc-le | powerpc-little)
>> +               basic_machine=powerpcle-unknown
>> +@@ -1032,6 +1093,9 @@ case $basic_machine in
>> +               basic_machine=i860-stratus
>> +               os=-sysv4
>> +               ;;
>> ++      strongarm-* | thumb-*)
>> ++              basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
>> ++              ;;
>> +       sun2)
>> +               basic_machine=m68000-sun
>> +               ;;
>> +@@ -1088,20 +1152,8 @@ case $basic_machine in
>> +               basic_machine=t90-cray
>> +               os=-unicos
>> +               ;;
>> +-      tic54x | c54x*)
>> +-              basic_machine=tic54x-unknown
>> +-              os=-coff
>> +-              ;;
>> +-      tic55x | c55x*)
>> +-              basic_machine=tic55x-unknown
>> +-              os=-coff
>> +-              ;;
>> +-      tic6x | c6x*)
>> +-              basic_machine=tic6x-unknown
>> +-              os=-coff
>> +-              ;;
>> +       tile*)
>> +-              basic_machine=tile-unknown
>> ++              basic_machine=$basic_machine-unknown
>> +               os=-linux-gnu
>> +               ;;
>> +       tx39)
>> +@@ -1171,6 +1223,9 @@ case $basic_machine in
>> +       xps | xps100)
>> +               basic_machine=xps100-honeywell
>> +               ;;
>> ++      xscale-* | xscalee[bl]-*)
>> ++              basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
>> ++              ;;
>> +       ymp)
>> +               basic_machine=ymp-cray
>> +               os=-unicos
>> +@@ -1268,9 +1323,12 @@ esac
>> + if [ x"$os" != x"" ]
>> + then
>> + case $os in
>> +-        # First match some system type aliases
>> +-        # that might get confused with valid system types.
>> ++      # First match some system type aliases
>> ++      # that might get confused with valid system types.
>> +       # -solaris* is a basic system type, with this one exception.
>> ++      -auroraux)
>> ++              os=-auroraux
>> ++              ;;
>> +       -solaris1 | -solaris1.*)
>> +               os=`echo $os | sed -e 's|solaris1|sunos4|'`
>> +               ;;
>> +@@ -1292,21 +1350,22 @@ case $os in
>> +       # -sysv* is not here because it comes later, after sysvr4.
>> +       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
>> +             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
>> +-            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
>> +-            | -kopensolaris* \
>> ++            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
>> ++            | -sym* | -kopensolaris* \
>> +             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
>> +             | -aos* | -aros* \
>> +             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
>> +             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
>> +             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
>> +-            | -openbsd* | -solidbsd* \
>> ++            | -bitrig* | -openbsd* | -solidbsd* \
>> +             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
>> +             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
>> +             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
>> +             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
>> +             | -chorusos* | -chorusrdb* | -cegcc* \
>> +-            | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
>> +-            | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
>> ++            | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
>> ++            | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
>> ++            | -linux-newlib* | -linux-musl* | -linux-uclibc* \
>> +             | -uxpv* | -beos* | -mpeix* | -udk* \
>> +             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
>> +             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
>> +@@ -1314,7 +1373,7 @@ case $os in
>> +             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
>> +             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
>> +             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
>> +-            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
>> ++            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
>> +       # Remember, each alternative MUST END IN *, to match a version number.
>> +               ;;
>> +       -qnx*)
>> +@@ -1353,7 +1412,7 @@ case $os in
>> +       -opened*)
>> +               os=-openedition
>> +               ;;
>> +-        -os400*)
>> ++      -os400*)
>> +               os=-os400
>> +               ;;
>> +       -wince*)
>> +@@ -1402,7 +1461,7 @@ case $os in
>> +       -sinix*)
>> +               os=-sysv4
>> +               ;;
>> +-        -tpf*)
>> ++      -tpf*)
>> +               os=-tpf
>> +               ;;
>> +       -triton*)
>> +@@ -1447,6 +1506,8 @@ case $os in
>> +       -dicos*)
>> +               os=-dicos
>> +               ;;
>> ++      -nacl*)
>> ++              ;;
>> +       -none)
>> +               ;;
>> +       *)
>> +@@ -1469,10 +1530,10 @@ else
>> + # system, and we'll never get to this point.
>> +
>> + case $basic_machine in
>> +-        score-*)
>> ++      score-*)
>> +               os=-elf
>> +               ;;
>> +-        spu-*)
>> ++      spu-*)
>> +               os=-elf
>> +               ;;
>> +       *-acorn)
>> +@@ -1484,8 +1545,20 @@ case $basic_machine in
>> +       arm*-semi)
>> +               os=-aout
>> +               ;;
>> +-        c4x-* | tic4x-*)
>> +-              os=-coff
>> ++      c4x-* | tic4x-*)
>> ++              os=-coff
>> ++              ;;
>> ++      hexagon-*)
>> ++              os=-elf
>> ++              ;;
>> ++      tic54x-*)
>> ++              os=-coff
>> ++              ;;
>> ++      tic55x-*)
>> ++              os=-coff
>> ++              ;;
>> ++      tic6x-*)
>> ++              os=-coff
>> +               ;;
>> +       # This must come before the *-dec entry.
>> +       pdp10-*)
>> +@@ -1505,14 +1578,11 @@ case $basic_machine in
>> +               ;;
>> +       m68000-sun)
>> +               os=-sunos3
>> +-              # This also exists in the configure program, but was not the
>> +-              # default.
>> +-              # os=-sunos4
>> +               ;;
>> +       m68*-cisco)
>> +               os=-aout
>> +               ;;
>> +-        mep-*)
>> ++      mep-*)
>> +               os=-elf
>> +               ;;
>> +       mips*-cisco)
>> +@@ -1539,7 +1609,7 @@ case $basic_machine in
>> +       *-ibm)
>> +               os=-aix
>> +               ;;
>> +-      *-knuth)
>> ++      *-knuth)
>> +               os=-mmixware
>> +               ;;
>> +       *-wec)
>> diff --git a/meta/recipes-extended/ltp/ltp_20140115.bb b/meta/recipes-extended/ltp/ltp_20140115.bb
>> index 4e20f24..fe65c2f 100644
>> --- a/meta/recipes-extended/ltp/ltp_20140115.bb
>> +++ b/meta/recipes-extended/ltp/ltp_20140115.bb
>> @@ -25,6 +25,7 @@ SRCREV = "c8b3e28097e7d3208df9daceaf92c25eae87ebf0"
>>  SRC_URI = "git://github.com/linux-test-project/ltp.git \
>>      file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \
>>      file://regen-makefile.patch \
>> +    file://ffsb-arm64.patch \
>>  "
>>
>>  S = "${WORKDIR}/git"
>> @@ -36,6 +37,12 @@ TARGET_CC_ARCH += "${LDFLAGS}"
>>  export prefix = "/opt/ltp"
>>  export exec_prefix = "/opt/ltp"
>>
>> +# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
>> +# we explicitly force regeneration of that directory and pass configure options.
>> +do_configure_prepend() {
>> +    (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
>> +}
>> +
>>  do_install(){
>>      install -d ${D}/opt/ltp/
>>      oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install
>> --
>> 1.8.1.2
>>
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core
Ross Burton - Jan. 20, 2014, 11:22 a.m.
On 20 January 2014 11:19, Fathi Boudra <fathi.boudra@linaro.org> wrote:
> right, we don't need to patch config.sub/guess anymore since I added
> do_configure_prepend() later on to run autoreconf -vfi.

So drop this patch from the series, we don't need to see your in-progress work.

Ross

Patch

diff --git a/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
new file mode 100644
index 0000000..1376f9d
--- /dev/null
+++ b/meta/recipes-extended/ltp/ltp/ffsb-arm64.patch
@@ -0,0 +1,1412 @@ 
+Fix ffsb build failure on arm64 architecture:
+ - get rid of the hardcoded configure call preventing cross-compilation
+ - update config.guess/config.sub to add aarch64 supported
+
+Upstream-Status: Pending
+Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
+
+---
+ utils/Makefile                  |    2 
+ utils/ffsb-6.0-rc2/config.guess |  457 +++++++++++++++++++---------------------
+ utils/ffsb-6.0-rc2/config.sub   |  252 ++++++++++++++--------
+ 3 files changed, 382 insertions(+), 329 deletions(-)
+
+--- a/utils/Makefile
++++ b/utils/Makefile
+@@ -29,7 +29,6 @@ FILTER_OUT_DIRS		:= $(FFSBDIR)
+ FFSB			:= $(FFSBDIR)/ffsb
+ 
+ $(FFSB): $(FFSBDIR)
+-	cd $^; ./configure
+ 	$(MAKE) -C $^ -f "$(abs_srcdir)/$^/Makefile" all
+ 	cp $(FFSBDIR)/ffsb ffsb
+ 
+--- a/utils/ffsb-6.0-rc2/config.guess
++++ b/utils/ffsb-6.0-rc2/config.guess
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Attempt to guess a canonical system name.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011, 2012 Free Software Foundation, Inc.
+ 
+-timestamp='2009-08-19'
++timestamp='2012-09-25'
+ 
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -17,9 +17,7 @@ timestamp='2009-08-19'
+ # General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+-# 02110-1301, USA.
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+@@ -56,8 +54,9 @@ version="\
+ GNU config.guess ($timestamp)
+ 
+ Originally written by Per Bothner.
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
++Free Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -139,31 +138,12 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` |
+ UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+ UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+ 
+-case "${UNAME_SYSTEM}" in
+-Linux|GNU/*)
+-	eval $set_cc_for_build
+-	cat << EOF > $dummy.c
+-	#include <features.h>
+-	#ifdef __UCLIBC__
+-	# ifdef __UCLIBC_CONFIG_VERSION__
+-	LIBC=uclibc __UCLIBC_CONFIG_VERSION__
+-	# else
+-	LIBC=uclibc
+-	# endif
+-	#else
+-	LIBC=gnu
+-	#endif
+-EOF
+-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep LIBC= | sed -e 's: ::g'`
+-	;;
+-esac
+-
+ # Note: order is significant - the case branches are not exclusive.
+ 
+ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+     *:NetBSD:*:*)
+ 	# NetBSD (nbsd) targets should (where applicable) match one or
+-	# more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
++	# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
+ 	# *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+ 	# switched to ELF, *-*-netbsd* would select the old
+ 	# object file format.  This provides both forward
+@@ -199,7 +179,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 		fi
+ 		;;
+ 	    *)
+-	        os=netbsd
++		os=netbsd
+ 		;;
+ 	esac
+ 	# The OS release
+@@ -220,6 +200,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 	# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ 	echo "${machine}-${os}${release}"
+ 	exit ;;
++    *:Bitrig:*:*)
++	UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
++	echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
++	exit ;;
+     *:OpenBSD:*:*)
+ 	UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ 	echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+@@ -242,7 +226,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ 		;;
+ 	*5.*)
+-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ 		;;
+ 	esac
+ 	# According to Compaq, /usr/sbin/psrinfo has been available on
+@@ -288,7 +272,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 	# A Xn.n version is an unreleased experimental baselevel.
+ 	# 1.2 uses "1.2" for uname -r.
+ 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-	exit ;;
++	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++	exitcode=$?
++	trap '' 0
++	exit $exitcode ;;
+     Alpha\ *:Windows_NT*:*)
+ 	# How do we know it's Interix rather than the generic POSIX subsystem?
+ 	# Should we change UNAME_MACHINE based on the output of uname instead
+@@ -314,12 +301,12 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+ 	echo s390-ibm-zvmoe
+ 	exit ;;
+     *:OS400:*:*)
+-        echo powerpc-ibm-os400
++	echo powerpc-ibm-os400
+ 	exit ;;
+     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ 	echo arm-acorn-riscix${UNAME_RELEASE}
+ 	exit ;;
+-    arm:riscos:*:*|arm:RISCOS:*:*)
++    arm*:riscos:*:*|arm*:RISCOS:*:*)
+ 	echo arm-unknown-riscos
+ 	exit ;;
+     SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+@@ -352,6 +339,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ 	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ 	exit ;;
++    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
++	echo i386-pc-auroraux${UNAME_RELEASE}
++	exit ;;
+     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+ 	eval $set_cc_for_build
+ 	SUN_ARCH="i386"
+@@ -410,23 +400,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
+     # MiNT.  But MiNT is downward compatible to TOS, so this should
+     # be no problem.
+     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++	echo m68k-atari-mint${UNAME_RELEASE}
+ 	exit ;;
+     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ 	echo m68k-atari-mint${UNAME_RELEASE}
+-        exit ;;
++	exit ;;
+     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+-        echo m68k-atari-mint${UNAME_RELEASE}
++	echo m68k-atari-mint${UNAME_RELEASE}
+ 	exit ;;
+     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+-        echo m68k-milan-mint${UNAME_RELEASE}
+-        exit ;;
++	echo m68k-milan-mint${UNAME_RELEASE}
++	exit ;;
+     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+-        echo m68k-hades-mint${UNAME_RELEASE}
+-        exit ;;
++	echo m68k-hades-mint${UNAME_RELEASE}
++	exit ;;
+     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+-        echo m68k-unknown-mint${UNAME_RELEASE}
+-        exit ;;
++	echo m68k-unknown-mint${UNAME_RELEASE}
++	exit ;;
+     m68k:machten:*:*)
+ 	echo m68k-apple-machten${UNAME_RELEASE}
+ 	exit ;;
+@@ -496,8 +486,8 @@ EOF
+ 	echo m88k-motorola-sysv3
+ 	exit ;;
+     AViiON:dgux:*:*)
+-        # DG/UX returns AViiON for all architectures
+-        UNAME_PROCESSOR=`/usr/bin/uname -p`
++	# DG/UX returns AViiON for all architectures
++	UNAME_PROCESSOR=`/usr/bin/uname -p`
+ 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ 	then
+ 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+@@ -510,7 +500,7 @@ EOF
+ 	else
+ 	    echo i586-dg-dgux${UNAME_RELEASE}
+ 	fi
+- 	exit ;;
++	exit ;;
+     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
+ 	echo m88k-dolphin-sysv3
+ 	exit ;;
+@@ -567,7 +557,7 @@ EOF
+ 		echo rs6000-ibm-aix3.2
+ 	fi
+ 	exit ;;
+-    *:AIX:*:[456])
++    *:AIX:*:[4567])
+ 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ 		IBM_ARCH=rs6000
+@@ -610,52 +600,52 @@ EOF
+ 	    9000/[678][0-9][0-9])
+ 		if [ -x /usr/bin/getconf ]; then
+ 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+-                    case "${sc_cpu_version}" in
+-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+-                      532)                      # CPU_PA_RISC2_0
+-                        case "${sc_kernel_bits}" in
+-                          32) HP_ARCH="hppa2.0n" ;;
+-                          64) HP_ARCH="hppa2.0w" ;;
++		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++		    case "${sc_cpu_version}" in
++		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
++		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
++		      532)                      # CPU_PA_RISC2_0
++			case "${sc_kernel_bits}" in
++			  32) HP_ARCH="hppa2.0n" ;;
++			  64) HP_ARCH="hppa2.0w" ;;
+ 			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+-                        esac ;;
+-                    esac
++			esac ;;
++		    esac
+ 		fi
+ 		if [ "${HP_ARCH}" = "" ]; then
+ 		    eval $set_cc_for_build
+-		    sed 's/^              //' << EOF >$dummy.c
++		    sed 's/^		//' << EOF >$dummy.c
++
++		#define _HPUX_SOURCE
++		#include <stdlib.h>
++		#include <unistd.h>
++
++		int main ()
++		{
++		#if defined(_SC_KERNEL_BITS)
++		    long bits = sysconf(_SC_KERNEL_BITS);
++		#endif
++		    long cpu  = sysconf (_SC_CPU_VERSION);
+ 
+-              #define _HPUX_SOURCE
+-              #include <stdlib.h>
+-              #include <unistd.h>
+-
+-              int main ()
+-              {
+-              #if defined(_SC_KERNEL_BITS)
+-                  long bits = sysconf(_SC_KERNEL_BITS);
+-              #endif
+-                  long cpu  = sysconf (_SC_CPU_VERSION);
+-
+-                  switch (cpu)
+-              	{
+-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+-              	case CPU_PA_RISC2_0:
+-              #if defined(_SC_KERNEL_BITS)
+-              	    switch (bits)
+-              		{
+-              		case 64: puts ("hppa2.0w"); break;
+-              		case 32: puts ("hppa2.0n"); break;
+-              		default: puts ("hppa2.0"); break;
+-              		} break;
+-              #else  /* !defined(_SC_KERNEL_BITS) */
+-              	    puts ("hppa2.0"); break;
+-              #endif
+-              	default: puts ("hppa1.0"); break;
+-              	}
+-                  exit (0);
+-              }
++		    switch (cpu)
++			{
++			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++			case CPU_PA_RISC2_0:
++		#if defined(_SC_KERNEL_BITS)
++			    switch (bits)
++				{
++				case 64: puts ("hppa2.0w"); break;
++				case 32: puts ("hppa2.0n"); break;
++				default: puts ("hppa2.0"); break;
++				} break;
++		#else  /* !defined(_SC_KERNEL_BITS) */
++			    puts ("hppa2.0"); break;
++		#endif
++			default: puts ("hppa1.0"); break;
++			}
++		    exit (0);
++		}
+ EOF
+ 		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ 		    test -z "$HP_ARCH" && HP_ARCH=hppa
+@@ -746,22 +736,22 @@ EOF
+ 	exit ;;
+     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ 	echo c1-convex-bsd
+-        exit ;;
++	exit ;;
+     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ 	if getsysinfo -f scalar_acc
+ 	then echo c32-convex-bsd
+ 	else echo c2-convex-bsd
+ 	fi
+-        exit ;;
++	exit ;;
+     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ 	echo c34-convex-bsd
+-        exit ;;
++	exit ;;
+     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ 	echo c38-convex-bsd
+-        exit ;;
++	exit ;;
+     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ 	echo c4-convex-bsd
+-        exit ;;
++	exit ;;
+     CRAY*Y-MP:*:*:*)
+ 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ 	exit ;;
+@@ -785,14 +775,14 @@ EOF
+ 	exit ;;
+     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+-        exit ;;
++	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++	exit ;;
+     5000:UNIX_System_V:4.*:*)
+-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
++	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
++	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ 	exit ;;
+     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+@@ -804,34 +794,39 @@ EOF
+ 	echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ 	exit ;;
+     *:FreeBSD:*:*)
+-	case ${UNAME_MACHINE} in
+-	    pc98)
+-		echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++	UNAME_PROCESSOR=`/usr/bin/uname -p`
++	case ${UNAME_PROCESSOR} in
+ 	    amd64)
+ 		echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ 	    *)
+-		echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
++		echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+ 	esac
+ 	exit ;;
+     i*:CYGWIN*:*)
+ 	echo ${UNAME_MACHINE}-pc-cygwin
+ 	exit ;;
++    *:MINGW64*:*)
++	echo ${UNAME_MACHINE}-pc-mingw64
++	exit ;;
+     *:MINGW*:*)
+ 	echo ${UNAME_MACHINE}-pc-mingw32
+ 	exit ;;
++    i*:MSYS*:*)
++	echo ${UNAME_MACHINE}-pc-msys
++	exit ;;
+     i*:windows32*:*)
+-    	# uname -m includes "-pc" on this system.
+-    	echo ${UNAME_MACHINE}-mingw32
++	# uname -m includes "-pc" on this system.
++	echo ${UNAME_MACHINE}-mingw32
+ 	exit ;;
+     i*:PW*:*)
+ 	echo ${UNAME_MACHINE}-pc-pw32
+ 	exit ;;
+-    *:Interix*:[3456]*)
+-    	case ${UNAME_MACHINE} in
++    *:Interix*:*)
++	case ${UNAME_MACHINE} in
+ 	    x86)
+ 		echo i586-pc-interix${UNAME_RELEASE}
+ 		exit ;;
+-	    EM64T | authenticamd | genuineintel)
++	    authenticamd | genuineintel | EM64T)
+ 		echo x86_64-unknown-interix${UNAME_RELEASE}
+ 		exit ;;
+ 	    IA64)
+@@ -868,41 +863,82 @@ EOF
+ 	exit ;;
+     *:GNU/*:*:*)
+ 	# other systems with GNU libc and userland
+-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ 	exit ;;
+     i*86:Minix:*:*)
+ 	echo ${UNAME_MACHINE}-pc-minix
+ 	exit ;;
++    aarch64:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    aarch64_be:Linux:*:*)
++	UNAME_MACHINE=aarch64_be
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    alpha:Linux:*:*)
++	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++	  EV5)   UNAME_MACHINE=alphaev5 ;;
++	  EV56)  UNAME_MACHINE=alphaev56 ;;
++	  PCA56) UNAME_MACHINE=alphapca56 ;;
++	  PCA57) UNAME_MACHINE=alphapca56 ;;
++	  EV6)   UNAME_MACHINE=alphaev6 ;;
++	  EV67)  UNAME_MACHINE=alphaev67 ;;
++	  EV68*) UNAME_MACHINE=alphaev68 ;;
++	esac
++	objdump --private-headers /bin/sh | grep -q ld.so.1
++	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
++	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
++	exit ;;
+     arm*:Linux:*:*)
+ 	eval $set_cc_for_build
+ 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ 	    | grep -q __ARM_EABI__
+ 	then
+-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	else
+-	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
++	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++		| grep -q __ARM_PCS_VFP
++	    then
++		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
++	    else
++		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
++	    fi
+ 	fi
+ 	exit ;;
+     avr32*:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     cris:Linux:*:*)
+-	echo cris-axis-linux-${LIBC}
++	echo ${UNAME_MACHINE}-axis-linux-gnu
+ 	exit ;;
+     crisv32:Linux:*:*)
+-	echo crisv32-axis-linux-${LIBC}
++	echo ${UNAME_MACHINE}-axis-linux-gnu
+ 	exit ;;
+     frv:Linux:*:*)
+-    	echo frv-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    hexagon:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    i*86:Linux:*:*)
++	LIBC=gnu
++	eval $set_cc_for_build
++	sed 's/^	//' << EOF >$dummy.c
++	#ifdef __dietlibc__
++	LIBC=dietlibc
++	#endif
++EOF
++	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
++	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ 	exit ;;
+     ia64:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     m32r*:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     m68*:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     mips:Linux:*:* | mips64:Linux:*:*)
+ 	eval $set_cc_for_build
+@@ -920,125 +956,56 @@ EOF
+ 	#endif
+ 	#endif
+ EOF
+-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+-	    /^CPU/{
+-		s: ::g
+-		p
+-	    }'`"
+-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
++	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
++	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ 	;;
+     or32:Linux:*:*)
+-	echo or32-unknown-linux-${LIBC}
+-	exit ;;
+-    ppc:Linux:*:*)
+-	echo powerpc-unknown-linux-${LIBC}
+-	exit ;;
+-    ppc64:Linux:*:*)
+-	echo powerpc64-unknown-linux-${LIBC}
+-	exit ;;
+-    alpha:Linux:*:*)
+-	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+-	  EV5)   UNAME_MACHINE=alphaev5 ;;
+-	  EV56)  UNAME_MACHINE=alphaev56 ;;
+-	  PCA56) UNAME_MACHINE=alphapca56 ;;
+-	  PCA57) UNAME_MACHINE=alphapca56 ;;
+-	  EV6)   UNAME_MACHINE=alphaev6 ;;
+-	  EV67)  UNAME_MACHINE=alphaev67 ;;
+-	  EV68*) UNAME_MACHINE=alphaev68 ;;
+-        esac
+-	objdump --private-headers /bin/sh | grep -q ld.so.1
+-	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     padre:Linux:*:*)
+-	echo sparc-unknown-linux-${LIBC}
++	echo sparc-unknown-linux-gnu
++	exit ;;
++    parisc64:Linux:*:* | hppa64:Linux:*:*)
++	echo hppa64-unknown-linux-gnu
+ 	exit ;;
+     parisc:Linux:*:* | hppa:Linux:*:*)
+ 	# Look for CPU level
+ 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+-	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+-	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+-	  *)    echo hppa-unknown-linux-${LIBC} ;;
++	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
++	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
++	  *)    echo hppa-unknown-linux-gnu ;;
+ 	esac
+ 	exit ;;
+-    parisc64:Linux:*:* | hppa64:Linux:*:*)
+-	echo hppa64-unknown-linux-${LIBC}
++    ppc64:Linux:*:*)
++	echo powerpc64-unknown-linux-gnu
++	exit ;;
++    ppc:Linux:*:*)
++	echo powerpc-unknown-linux-gnu
+ 	exit ;;
+     s390:Linux:*:* | s390x:Linux:*:*)
+ 	echo ${UNAME_MACHINE}-ibm-linux
+ 	exit ;;
+     sh64*:Linux:*:*)
+-    	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     sh*:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     sparc:Linux:*:* | sparc64:Linux:*:*)
+-	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
++	exit ;;
++    tile*:Linux:*:*)
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     vax:Linux:*:*)
+-	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
++	echo ${UNAME_MACHINE}-dec-linux-gnu
+ 	exit ;;
+     x86_64:Linux:*:*)
+-	echo x86_64-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+     xtensa*:Linux:*:*)
+-    	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++	echo ${UNAME_MACHINE}-unknown-linux-gnu
+ 	exit ;;
+-    i*86:Linux:*:*)
+-	# The BFD linker knows what the default object file format is, so
+-	# first see if it will tell us. cd to the root directory to prevent
+-	# problems with other programs or directories called `ld' in the path.
+-	# Set LC_ALL=C to ensure ld outputs messages in English.
+-	ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+-			 | sed -ne '/supported targets:/!d
+-				    s/[ 	][ 	]*/ /g
+-				    s/.*supported targets: *//
+-				    s/ .*//
+-				    p'`
+-        case "$ld_supported_targets" in
+-	  elf32-i386)
+-		TENTATIVE="${UNAME_MACHINE}-pc-linux-${LIBC}"
+-		;;
+-	esac
+-	# This should get integrated into the C code below, but now we hack
+-	if [ "$LIBC" != "gnu" ] ; then echo "$TENTATIVE" && exit 0 ; fi
+-	# Determine whether the default compiler is a.out or elf
+-	eval $set_cc_for_build
+-	sed 's/^	//' << EOF >$dummy.c
+-	#include <features.h>
+-	#ifdef __ELF__
+-	# ifdef __GLIBC__
+-	#  if __GLIBC__ >= 2
+-	LIBC=gnu
+-	#  else
+-	LIBC=gnulibc1
+-	#  endif
+-	# else
+-	LIBC=gnulibc1
+-	# endif
+-	#else
+-	#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
+-	LIBC=gnu
+-	#else
+-	LIBC=gnuaout
+-	#endif
+-	#endif
+-	#ifdef __dietlibc__
+-	LIBC=dietlibc
+-	#endif
+-EOF
+-	eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
+-	    /^LIBC/{
+-		s: ::g
+-		p
+-	    }'`"
+-	test x"${LIBC}" != x && {
+-		echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+-		exit
+-	}
+-	test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
+-	;;
+     i*86:DYNIX/ptx:4*:*)
+ 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ 	# earlier versions are messed up and put the nodename in both
+@@ -1046,11 +1013,11 @@ EOF
+ 	echo i386-sequent-sysv4
+ 	exit ;;
+     i*86:UNIX_SV:4.2MP:2.*)
+-        # Unixware is an offshoot of SVR4, but it has its own version
+-        # number series starting with 2...
+-        # I am not positive that other SVR4 systems won't match this,
++	# Unixware is an offshoot of SVR4, but it has its own version
++	# number series starting with 2...
++	# I am not positive that other SVR4 systems won't match this,
+ 	# I just have to hope.  -- rms.
+-        # Use sysv4.2uw... so that sysv4* matches it.
++	# Use sysv4.2uw... so that sysv4* matches it.
+ 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ 	exit ;;
+     i*86:OS/2:*:*)
+@@ -1082,7 +1049,7 @@ EOF
+ 	fi
+ 	exit ;;
+     i*86:*:5:[678]*)
+-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
++	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+ 	case `/bin/uname -X | grep "^Machine"` in
+ 	    *486*)	     UNAME_MACHINE=i486 ;;
+ 	    *Pentium)	     UNAME_MACHINE=i586 ;;
+@@ -1110,13 +1077,13 @@ EOF
+ 	exit ;;
+     pc:*:*:*)
+ 	# Left here for compatibility:
+-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+-        # the processor, so we play safe by assuming i586.
++	# uname -m prints for DJGPP always 'pc', but it prints nothing about
++	# the processor, so we play safe by assuming i586.
+ 	# Note: whatever this is, it MUST be the same as what config.sub
+ 	# prints for the "djgpp" host, or else GDB configury will decide that
+ 	# this is a cross-build.
+ 	echo i586-pc-msdosdjgpp
+-        exit ;;
++	exit ;;
+     Intel:Mach:3*:*)
+ 	echo i386-pc-mach3
+ 	exit ;;
+@@ -1151,8 +1118,8 @@ EOF
+ 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+-          && { echo i486-ncr-sysv4; exit; } ;;
++	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++	  && { echo i486-ncr-sysv4; exit; } ;;
+     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+ 	OS_REL='.3'
+ 	test -r /etc/.relid \
+@@ -1195,10 +1162,10 @@ EOF
+ 		echo ns32k-sni-sysv
+ 	fi
+ 	exit ;;
+-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+-        echo i586-unisys-sysv4
+-        exit ;;
++    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++			# says <Richard.M.Bartel@ccMail.Census.GOV>
++	echo i586-unisys-sysv4
++	exit ;;
+     *:UNIX_System_V:4*:FTX*)
+ 	# From Gerald Hewes <hewes@openmarket.com>.
+ 	# How about differentiating between stratus architectures? -djm
+@@ -1224,11 +1191,11 @@ EOF
+ 	exit ;;
+     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ 	if [ -d /usr/nec ]; then
+-	        echo mips-nec-sysv${UNAME_RELEASE}
++		echo mips-nec-sysv${UNAME_RELEASE}
+ 	else
+-	        echo mips-unknown-sysv${UNAME_RELEASE}
++		echo mips-unknown-sysv${UNAME_RELEASE}
+ 	fi
+-        exit ;;
++	exit ;;
+     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
+ 	echo powerpc-be-beos
+ 	exit ;;
+@@ -1241,6 +1208,9 @@ EOF
+     BePC:Haiku:*:*)	# Haiku running on Intel PC compatible.
+ 	echo i586-pc-haiku
+ 	exit ;;
++    x86_64:Haiku:*:*)
++	echo x86_64-unknown-haiku
++	exit ;;
+     SX-4:SUPER-UX:*:*)
+ 	echo sx4-nec-superux${UNAME_RELEASE}
+ 	exit ;;
+@@ -1268,6 +1238,16 @@ EOF
+     *:Darwin:*:*)
+ 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ 	case $UNAME_PROCESSOR in
++	    i386)
++		eval $set_cc_for_build
++		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
++		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
++		      grep IS_64BIT_ARCH >/dev/null
++		  then
++		      UNAME_PROCESSOR="x86_64"
++		  fi
++		fi ;;
+ 	    unknown) UNAME_PROCESSOR=powerpc ;;
+ 	esac
+ 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+@@ -1283,7 +1263,10 @@ EOF
+     *:QNX:*:4*)
+ 	echo i386-pc-qnx
+ 	exit ;;
+-    NSE-?:NONSTOP_KERNEL:*:*)
++    NEO-?:NONSTOP_KERNEL:*:*)
++	echo neo-tandem-nsk${UNAME_RELEASE}
++	exit ;;
++    NSE-*:NONSTOP_KERNEL:*:*)
+ 	echo nse-tandem-nsk${UNAME_RELEASE}
+ 	exit ;;
+     NSR-?:NONSTOP_KERNEL:*:*)
+@@ -1328,13 +1311,13 @@ EOF
+ 	echo pdp10-unknown-its
+ 	exit ;;
+     SEI:*:*:SEIUX)
+-        echo mips-sei-seiux${UNAME_RELEASE}
++	echo mips-sei-seiux${UNAME_RELEASE}
+ 	exit ;;
+     *:DragonFly:*:*)
+ 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ 	exit ;;
+     *:*VMS:*:*)
+-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
++	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ 	case "${UNAME_MACHINE}" in
+ 	    A*) echo alpha-dec-vms ; exit ;;
+ 	    I*) echo ia64-dec-vms ; exit ;;
+@@ -1352,11 +1335,11 @@ EOF
+     i*86:AROS:*:*)
+ 	echo ${UNAME_MACHINE}-pc-aros
+ 	exit ;;
++    x86_64:VMkernel:*:*)
++	echo ${UNAME_MACHINE}-unknown-esx
++	exit ;;
+ esac
+ 
+-#echo '(No uname command or uname output not recognized.)' 1>&2
+-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+-
+ eval $set_cc_for_build
+ cat >$dummy.c <<EOF
+ #ifdef _SEQUENT_
+@@ -1374,11 +1357,11 @@ main ()
+ #include <sys/param.h>
+   printf ("m68k-sony-newsos%s\n",
+ #ifdef NEWSOS4
+-          "4"
++	"4"
+ #else
+-	  ""
++	""
+ #endif
+-         ); exit (0);
++	); exit (0);
+ #endif
+ #endif
+ 
+--- a/utils/ffsb-6.0-rc2/config.sub
++++ b/utils/ffsb-6.0-rc2/config.sub
+@@ -1,10 +1,10 @@
+ #! /bin/sh
+ # Configuration validation subroutine script.
+ #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+-#   Free Software Foundation, Inc.
++#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
++#   2011, 2012 Free Software Foundation, Inc.
+ 
+-timestamp='2009-08-19'
++timestamp='2012-10-10'
+ 
+ # This file is (in principle) common to ALL GNU software.
+ # The presence of a machine in this file suggests that SOME GNU software
+@@ -21,9 +21,7 @@ timestamp='2009-08-19'
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+-# along with this program; if not, write to the Free Software
+-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+-# 02110-1301, USA.
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
+ #
+ # As a special exception to the GNU General Public License, if you
+ # distribute this file as part of a program that contains a
+@@ -75,8 +73,9 @@ Report bugs and patches to <config-patch
+ version="\
+ GNU config.sub ($timestamp)
+ 
+-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+-2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
++Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
++2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
++Free Software Foundation, Inc.
+ 
+ This is free software; see the source for copying conditions.  There is NO
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+@@ -123,13 +122,18 @@ esac
+ # Here we must recognize all the valid KERNEL-OS combinations.
+ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+-  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+-  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
++  nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
++  linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++  knetbsd*-gnu* | netbsd*-gnu* | \
+   kopensolaris*-gnu* | \
+   storm-chaos* | os2-emx* | rtmk-nova*)
+     os=-$maybe_os
+     basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+     ;;
++  android-linux)
++    os=-linux-android
++    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
++    ;;
+   *)
+     basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+     if [ $basic_machine != $1 ]
+@@ -152,12 +156,12 @@ case $os in
+ 	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ 	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ 	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+-	-apple | -axis | -knuth | -cray | -microblaze)
++	-apple | -axis | -knuth | -cray | -microblaze*)
+ 		os=
+ 		basic_machine=$1
+ 		;;
+-        -bluegene*)
+-	        os=-cnk
++	-bluegene*)
++		os=-cnk
+ 		;;
+ 	-sim | -cisco | -oki | -wec | -winbond)
+ 		os=
+@@ -173,10 +177,10 @@ case $os in
+ 		os=-chorusos
+ 		basic_machine=$1
+ 		;;
+- 	-chorusrdb)
+- 		os=-chorusrdb
++	-chorusrdb)
++		os=-chorusrdb
+ 		basic_machine=$1
+- 		;;
++		;;
+ 	-hiux*)
+ 		os=-hiuxwe2
+ 		;;
+@@ -221,6 +225,12 @@ case $os in
+ 	-isc*)
+ 		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ 		;;
++	-lynx*178)
++		os=-lynxos178
++		;;
++	-lynx*5)
++		os=-lynxos5
++		;;
+ 	-lynx*)
+ 		os=-lynxos
+ 		;;
+@@ -245,20 +255,25 @@ case $basic_machine in
+ 	# Some are omitted here because they have special meanings below.
+ 	1750a | 580 \
+ 	| a29k \
++	| aarch64 | aarch64_be \
+ 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ 	| am33_2.0 \
+ 	| arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++        | be32 | be64 \
+ 	| bfin \
+ 	| c4x | clipper \
+-	| d10v | d30v | dlx | dsp16xx | dvp \
++	| d10v | d30v | dlx | dsp16xx \
++	| epiphany \
+ 	| fido | fr30 | frv \
+ 	| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++	| hexagon \
+ 	| i370 | i860 | i960 | ia64 \
+ 	| ip2k | iq2000 \
++	| le32 | le64 \
+ 	| lm32 \
+ 	| m32c | m32r | m32rle | m68000 | m68k | m88k \
+-	| maxq | mb | microblaze | mcore | mep | metag \
++	| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
+ 	| mips | mipsbe | mipseb | mipsel | mipsle \
+ 	| mips16 \
+ 	| mips64 | mips64el \
+@@ -281,27 +296,39 @@ case $basic_machine in
+ 	| moxie \
+ 	| mt \
+ 	| msp430 \
++	| nds32 | nds32le | nds32be \
+ 	| nios | nios2 \
+ 	| ns16k | ns32k \
++	| open8 \
+ 	| or32 \
+ 	| pdp10 | pdp11 | pj | pjl \
+-	| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
++	| powerpc | powerpc64 | powerpc64le | powerpcle \
+ 	| pyramid \
++	| rl78 | rx \
+ 	| score \
+ 	| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+ 	| sh64 | sh64le \
+ 	| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+ 	| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+-	| spu | strongarm \
+-	| tahoe | thumb | tic4x | tic80 | tron \
+-	| v850 | v850e \
++	| spu \
++	| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
++	| ubicom32 \
++	| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
+ 	| we32k \
+-	| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
++	| x86 | xc16x | xstormy16 | xtensa \
+ 	| z8k | z80)
+ 		basic_machine=$basic_machine-unknown
+ 		;;
+-	m6811 | m68hc11 | m6812 | m68hc12)
+-		# Motorola 68HC11/12.
++	c54x)
++		basic_machine=tic54x-unknown
++		;;
++	c55x)
++		basic_machine=tic55x-unknown
++		;;
++	c6x)
++		basic_machine=tic6x-unknown
++		;;
++	m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
+ 		basic_machine=$basic_machine-unknown
+ 		os=-none
+ 		;;
+@@ -311,6 +338,21 @@ case $basic_machine in
+ 		basic_machine=mt-unknown
+ 		;;
+ 
++	strongarm | thumb | xscale)
++		basic_machine=arm-unknown
++		;;
++	xgate)
++		basic_machine=$basic_machine-unknown
++		os=-none
++		;;
++	xscaleeb)
++		basic_machine=armeb-unknown
++		;;
++
++	xscaleel)
++		basic_machine=armel-unknown
++		;;
++
+ 	# We use `pc' rather than `unknown'
+ 	# because (1) that's what they normally are, and
+ 	# (2) the word "unknown" tends to confuse beginning users.
+@@ -325,25 +367,30 @@ case $basic_machine in
+ 	# Recognize the basic CPU types with company name.
+ 	580-* \
+ 	| a29k-* \
++	| aarch64-* | aarch64_be-* \
+ 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ 	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+ 	| avr-* | avr32-* \
++	| be32-* | be64-* \
+ 	| bfin-* | bs2000-* \
+-	| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
++	| c[123]* | c30-* | [cjt]90-* | c4x-* \
+ 	| clipper-* | craynv-* | cydra-* \
+ 	| d10v-* | d30v-* | dlx-* \
+ 	| elxsi-* \
+ 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+ 	| h8300-* | h8500-* \
+ 	| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++	| hexagon-* \
+ 	| i*86-* | i860-* | i960-* | ia64-* \
+ 	| ip2k-* | iq2000-* \
++	| le32-* | le64-* \
+ 	| lm32-* \
+ 	| m32c-* | m32r-* | m32rle-* \
+ 	| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+-	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
++	| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++	| microblaze-* | microblazeel-* \
+ 	| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ 	| mips16-* \
+ 	| mips64-* | mips64el-* \
+@@ -365,24 +412,29 @@ case $basic_machine in
+ 	| mmix-* \
+ 	| mt-* \
+ 	| msp430-* \
++	| nds32-* | nds32le-* | nds32be-* \
+ 	| nios-* | nios2-* \
+ 	| none-* | np1-* | ns16k-* | ns32k-* \
++	| open8-* \
+ 	| orion-* \
+ 	| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+-	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
++	| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ 	| pyramid-* \
+-	| romp-* | rs6000-* \
++	| rl78-* | romp-* | rs6000-* | rx-* \
+ 	| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+ 	| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ 	| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+ 	| sparclite-* \
+-	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+-	| tahoe-* | thumb-* \
+-	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
++	| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
++	| tahoe-* \
++	| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++	| tile*-* \
+ 	| tron-* \
+-	| v850-* | v850e-* | vax-* \
++	| ubicom32-* \
++	| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++	| vax-* \
+ 	| we32k-* \
+-	| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
++	| x86-* | x86_64-* | xc16x-* | xps100-* \
+ 	| xstormy16-* | xtensa*-* \
+ 	| ymp-* \
+ 	| z8k-* | z80-*)
+@@ -407,7 +459,7 @@ case $basic_machine in
+ 		basic_machine=a29k-amd
+ 		os=-udi
+ 		;;
+-    	abacus)
++	abacus)
+ 		basic_machine=abacus-unknown
+ 		;;
+ 	adobe68k)
+@@ -477,11 +529,20 @@ case $basic_machine in
+ 		basic_machine=powerpc-ibm
+ 		os=-cnk
+ 		;;
++	c54x-*)
++		basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	c55x-*)
++		basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
++	c6x-*)
++		basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
+ 	c90)
+ 		basic_machine=c90-cray
+ 		os=-unicos
+ 		;;
+-        cegcc)
++	cegcc)
+ 		basic_machine=arm-unknown
+ 		os=-cegcc
+ 		;;
+@@ -513,7 +574,7 @@ case $basic_machine in
+ 		basic_machine=craynv-cray
+ 		os=-unicosmp
+ 		;;
+-	cr16)
++	cr16 | cr16-*)
+ 		basic_machine=cr16-unknown
+ 		os=-elf
+ 		;;
+@@ -671,7 +732,6 @@ case $basic_machine in
+ 	i370-ibm* | ibm*)
+ 		basic_machine=i370-ibm
+ 		;;
+-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+ 	i*86v32)
+ 		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ 		os=-sysv32
+@@ -729,9 +789,13 @@ case $basic_machine in
+ 		basic_machine=ns32k-utek
+ 		os=-sysv
+ 		;;
+-        microblaze)
++	microblaze*)
+ 		basic_machine=microblaze-xilinx
+ 		;;
++	mingw64)
++		basic_machine=x86_64-pc
++		os=-mingw64
++		;;
+ 	mingw32)
+ 		basic_machine=i386-pc
+ 		os=-mingw32
+@@ -747,24 +811,6 @@ case $basic_machine in
+ 		basic_machine=m68k-atari
+ 		os=-mint
+ 		;;
+-	mipsEE* | ee | ps2)
+-		basic_machine=mips64r5900el-scei
+-		case $os in
+-		    -linux*)
+-			;;
+-		    *)
+-			os=-elf
+-			;;
+-		esac
+-		;;
+-	iop)
+-		basic_machine=mipsel-scei
+-		os=-irx
+-		;;
+-	dvp)
+-		basic_machine=dvp-scei
+-		os=-elf
+-		;;
+ 	mips3*-*)
+ 		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ 		;;
+@@ -786,10 +832,18 @@ case $basic_machine in
+ 	ms1-*)
+ 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+ 		;;
++	msys)
++		basic_machine=i386-pc
++		os=-msys
++		;;
+ 	mvs)
+ 		basic_machine=i370-ibm
+ 		os=-mvs
+ 		;;
++	nacl)
++		basic_machine=le32-unknown
++		os=-nacl
++		;;
+ 	ncr3000)
+ 		basic_machine=i486-ncr
+ 		os=-sysv4
+@@ -854,6 +908,12 @@ case $basic_machine in
+ 	np1)
+ 		basic_machine=np1-gould
+ 		;;
++	neo-tandem)
++		basic_machine=neo-tandem
++		;;
++	nse-tandem)
++		basic_machine=nse-tandem
++		;;
+ 	nsr-tandem)
+ 		basic_machine=nsr-tandem
+ 		;;
+@@ -936,9 +996,10 @@ case $basic_machine in
+ 		;;
+ 	power)	basic_machine=power-ibm
+ 		;;
+-	ppc)	basic_machine=powerpc-unknown
++	ppc | ppcbe)	basic_machine=powerpc-unknown
+ 		;;
+-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++	ppc-* | ppcbe-*)
++		basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ 		;;
+ 	ppcle | powerpclittle | ppc-le | powerpc-little)
+ 		basic_machine=powerpcle-unknown
+@@ -1032,6 +1093,9 @@ case $basic_machine in
+ 		basic_machine=i860-stratus
+ 		os=-sysv4
+ 		;;
++	strongarm-* | thumb-*)
++		basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++		;;
+ 	sun2)
+ 		basic_machine=m68000-sun
+ 		;;
+@@ -1088,20 +1152,8 @@ case $basic_machine in
+ 		basic_machine=t90-cray
+ 		os=-unicos
+ 		;;
+-	tic54x | c54x*)
+-		basic_machine=tic54x-unknown
+-		os=-coff
+-		;;
+-	tic55x | c55x*)
+-		basic_machine=tic55x-unknown
+-		os=-coff
+-		;;
+-	tic6x | c6x*)
+-		basic_machine=tic6x-unknown
+-		os=-coff
+-		;;
+ 	tile*)
+-		basic_machine=tile-unknown
++		basic_machine=$basic_machine-unknown
+ 		os=-linux-gnu
+ 		;;
+ 	tx39)
+@@ -1171,6 +1223,9 @@ case $basic_machine in
+ 	xps | xps100)
+ 		basic_machine=xps100-honeywell
+ 		;;
++	xscale-* | xscalee[bl]-*)
++		basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++		;;
+ 	ymp)
+ 		basic_machine=ymp-cray
+ 		os=-unicos
+@@ -1268,9 +1323,12 @@ esac
+ if [ x"$os" != x"" ]
+ then
+ case $os in
+-        # First match some system type aliases
+-        # that might get confused with valid system types.
++	# First match some system type aliases
++	# that might get confused with valid system types.
+ 	# -solaris* is a basic system type, with this one exception.
++	-auroraux)
++		os=-auroraux
++		;;
+ 	-solaris1 | -solaris1.*)
+ 		os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ 		;;
+@@ -1292,21 +1350,22 @@ case $os in
+ 	# -sysv* is not here because it comes later, after sysvr4.
+ 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+-	      | -kopensolaris* \
++	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
++	      | -sym* | -kopensolaris* \
+ 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ 	      | -aos* | -aros* \
+ 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ 	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ 	      | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+-	      | -openbsd* | -solidbsd* \
++	      | -bitrig* | -openbsd* | -solidbsd* \
+ 	      | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ 	      | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ 	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ 	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ 	      | -chorusos* | -chorusrdb* | -cegcc* \
+-	      | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+-	      | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
++	      | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++	      | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++	      | -linux-newlib* | -linux-musl* | -linux-uclibc* \
+ 	      | -uxpv* | -beos* | -mpeix* | -udk* \
+ 	      | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ 	      | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+@@ -1314,7 +1373,7 @@ case $os in
+ 	      | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ 	      | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ 	      | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+-	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -irx*)
++	      | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+ 	# Remember, each alternative MUST END IN *, to match a version number.
+ 		;;
+ 	-qnx*)
+@@ -1353,7 +1412,7 @@ case $os in
+ 	-opened*)
+ 		os=-openedition
+ 		;;
+-        -os400*)
++	-os400*)
+ 		os=-os400
+ 		;;
+ 	-wince*)
+@@ -1402,7 +1461,7 @@ case $os in
+ 	-sinix*)
+ 		os=-sysv4
+ 		;;
+-        -tpf*)
++	-tpf*)
+ 		os=-tpf
+ 		;;
+ 	-triton*)
+@@ -1447,6 +1506,8 @@ case $os in
+ 	-dicos*)
+ 		os=-dicos
+ 		;;
++	-nacl*)
++		;;
+ 	-none)
+ 		;;
+ 	*)
+@@ -1469,10 +1530,10 @@ else
+ # system, and we'll never get to this point.
+ 
+ case $basic_machine in
+-        score-*)
++	score-*)
+ 		os=-elf
+ 		;;
+-        spu-*)
++	spu-*)
+ 		os=-elf
+ 		;;
+ 	*-acorn)
+@@ -1484,8 +1545,20 @@ case $basic_machine in
+ 	arm*-semi)
+ 		os=-aout
+ 		;;
+-        c4x-* | tic4x-*)
+-        	os=-coff
++	c4x-* | tic4x-*)
++		os=-coff
++		;;
++	hexagon-*)
++		os=-elf
++		;;
++	tic54x-*)
++		os=-coff
++		;;
++	tic55x-*)
++		os=-coff
++		;;
++	tic6x-*)
++		os=-coff
+ 		;;
+ 	# This must come before the *-dec entry.
+ 	pdp10-*)
+@@ -1505,14 +1578,11 @@ case $basic_machine in
+ 		;;
+ 	m68000-sun)
+ 		os=-sunos3
+-		# This also exists in the configure program, but was not the
+-		# default.
+-		# os=-sunos4
+ 		;;
+ 	m68*-cisco)
+ 		os=-aout
+ 		;;
+-        mep-*)
++	mep-*)
+ 		os=-elf
+ 		;;
+ 	mips*-cisco)
+@@ -1539,7 +1609,7 @@ case $basic_machine in
+ 	*-ibm)
+ 		os=-aix
+ 		;;
+-    	*-knuth)
++	*-knuth)
+ 		os=-mmixware
+ 		;;
+ 	*-wec)
diff --git a/meta/recipes-extended/ltp/ltp_20140115.bb b/meta/recipes-extended/ltp/ltp_20140115.bb
index 4e20f24..fe65c2f 100644
--- a/meta/recipes-extended/ltp/ltp_20140115.bb
+++ b/meta/recipes-extended/ltp/ltp_20140115.bb
@@ -25,6 +25,7 @@  SRCREV = "c8b3e28097e7d3208df9daceaf92c25eae87ebf0"
 SRC_URI = "git://github.com/linux-test-project/ltp.git \
     file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \
     file://regen-makefile.patch \
+    file://ffsb-arm64.patch \
 "
 
 S = "${WORKDIR}/git"
@@ -36,6 +37,12 @@  TARGET_CC_ARCH += "${LDFLAGS}"
 export prefix = "/opt/ltp"
 export exec_prefix = "/opt/ltp"
 
+# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call.
+# we explicitly force regeneration of that directory and pass configure options.
+do_configure_prepend() {
+    (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS})
+}
+
 do_install(){
     install -d ${D}/opt/ltp/
     oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install