[OE-core] [PATCH 7/7] Fix ffsb ftbfs on arm64 and cross-compiled environment

Burton, Ross ross.burton at intel.com
Mon Jan 20 09:33:19 UTC 2014


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 at 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 at 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 at 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 at ccMail.Census.GOV>
> +-        echo i586-unisys-sysv4
> +-        exit ;;
> ++    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
> ++                      # says <Richard.M.Bartel at ccMail.Census.GOV>
> ++      echo i586-unisys-sysv4
> ++      exit ;;
> +     *:UNIX_System_V:4*:FTX*)
> +       # From Gerald Hewes <hewes at 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 at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list