diff --git a/ChangeLog b/ChangeLog index ad5d080..c37095f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2015-02-22 Taylor R Campbell + Ben Elliston + + * config.guess (*:NetBSD:*:*): Handle earm* archs. + * config.sub (netbsd*-eabi*): New. + * testsuite/config-guess.data: Add test cases. + * testsuite/config-sub.data: Likewise. + 2015-02-21 Taylor R Campbell * config.guess (*:NetBSD:*:*): `uname -p' and `sysctl -n diff --git a/config.guess b/config.guess index 9726d28..f5f53fd 100755 --- a/config.guess +++ b/config.guess @@ -2,7 +2,7 @@ # Attempt to guess a canonical system name. # Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2015-02-21' +timestamp='2015-02-22' # 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 @@ -178,12 +178,17 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) + arm*|earm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ @@ -199,6 +204,13 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in os=netbsd ;; esac + # Determine ABI tags. + case "${UNAME_MACHINE_ARCH}" in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` + ;; + esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need @@ -215,7 +227,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" + echo "${machine}-${os}${release}${abi}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` diff --git a/config.sub b/config.sub index 6d2e94c..bc855a2 100755 --- a/config.sub +++ b/config.sub @@ -2,7 +2,7 @@ # Configuration validation subroutine script. # Copyright 1992-2015 Free Software Foundation, Inc. -timestamp='2015-01-01' +timestamp='2015-02-22' # 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 @@ -117,7 +117,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ + knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os diff --git a/testsuite/config-guess.data b/testsuite/config-guess.data index c6fb89c..9328717 100644 --- a/testsuite/config-guess.data +++ b/testsuite/config-guess.data @@ -16,6 +16,16 @@ crayx1 2.5.20 UNICOS/mp ignored ignored craynv-cray-unicosmp2.5.X cris 2.6.6 Linux ignored ignored cris-axis-linux-gnu crisv32 2.6.6 Linux ignored ignored crisv32-axis-linux-gnu EM64T 5.2 Interix ignored ignored x86_64-unknown-interix5.2 +evbarm 7.0 NetBSD ignored arm arm-unknown-netbsdelf7.0 +evbarm 7.0 NetBSD ignored armeb armeb-unknown-netbsdelf7.0 +evbarm 7.0 NetBSD ignored earmv6 armv6-unknown-netbsdelf7.0-eabi +evbarm 7.0 NetBSD ignored earmv6eb armv6eb-unknown-netbsdelf7.0-eabi +evbarm 7.0 NetBSD ignored earmv6hf armv6-unknown-netbsdelf7.0-eabihf +evbarm 7.0 NetBSD ignored earmv6hfeb armv6eb-unknown-netbsdelf7.0-eabihf +evbarm 7.0 NetBSD ignored earmv7 armv7-unknown-netbsdelf7.0-eabi +evbarm 7.0 NetBSD ignored earmv7eb armv7eb-unknown-netbsdelf7.0-eabi +evbarm 7.0 NetBSD ignored earmv7hf armv7-unknown-netbsdelf7.0-eabihf +evbarm 7.0 NetBSD ignored earmv7hfeb armv7eb-unknown-netbsdelf7.0-eabihf frv 2.4.24 Linux ignored ignored frv-unknown-linux-gnu genuineintel 6.0 Interix ignored ignored x86_64-unknown-interix6.0 hexagon 1.0 Linux ignored ignored hexagon-unknown-linux-gnu diff --git a/testsuite/config-sub.data b/testsuite/config-sub.data index 5831954..9305076 100644 --- a/testsuite/config-sub.data +++ b/testsuite/config-sub.data @@ -13,14 +13,28 @@ arceb-linux arceb-unknown-linux-gnu arc-linux arc-unknown-linux-gnu arm-cegcc arm-unknown-cegcc arm-coff arm-unknown-coff +armeb-unknown-netbsdelf7.0 armeb-unknown-netbsdelf7.0 arm-elf arm-unknown-elf arm-linux-androideabi arm-unknown-linux-androideabi arm-mingw32ce arm-unknown-mingw32ce arm-riscos arm-unknown-riscos arm-tirtos arm-unknown-tirtos +arm-unknown-netbsdelf7.0 arm-unknown-netbsdelf7.0 arm-unknown-riscos arm-unknown-riscos +armv6eb-unknown-netbsdelf7.0 armv6eb-unknown-netbsdelf7.0 +armv6eb-unknown-netbsdelf7.0-eabi armv6eb-unknown-netbsdelf7.0-eabi +armv6eb-unknown-netbsdelf7.0-eabihf armv6eb-unknown-netbsdelf7.0-eabihf armv6-linux-gnu armv6-unknown-linux-gnu +armv6-unknown-netbsdelf7.0 armv6-unknown-netbsdelf7.0 +armv6-unknown-netbsdelf7.0-eabi armv6-unknown-netbsdelf7.0-eabi +armv6-unknown-netbsdelf7.0-eabihf armv6-unknown-netbsdelf7.0-eabihf armv7a-linux-gnueabi armv7a-unknown-linux-gnueabi +armv7eb-unknown-netbsdelf7.0 armv7eb-unknown-netbsdelf7.0 +armv7eb-unknown-netbsdelf7.0-eabi armv7eb-unknown-netbsdelf7.0-eabi +armv7eb-unknown-netbsdelf7.0-eabihf armv7eb-unknown-netbsdelf7.0-eabihf +armv7-unknown-netbsdelf7.0 armv7-unknown-netbsdelf7.0 +armv7-unknown-netbsdelf7.0-eabi armv7-unknown-netbsdelf7.0-eabi +armv7-unknown-netbsdelf7.0-eabihf armv7-unknown-netbsdelf7.0-eabihf armv8b-linux-gnueabi armv8b-unknown-linux-gnueabi aros i386-pc-aros avr32 avr32-unknown-none