runtime: GOARCH values for ppc64 BE & LE

ppc64 for BE
ppc64le for LE
issue 8654

From-SVN: r217941
This commit is contained in:
Ian Lance Taylor 2014-11-21 18:22:05 +00:00
parent 12829505f2
commit 6f7ccafa91
4 changed files with 45 additions and 7 deletions

35
libgo/configure vendored
View file

@ -637,6 +637,8 @@ LIBGO_IS_S390X_FALSE
LIBGO_IS_S390X_TRUE
LIBGO_IS_S390_FALSE
LIBGO_IS_S390_TRUE
LIBGO_IS_PPC64LE_FALSE
LIBGO_IS_PPC64LE_TRUE
LIBGO_IS_PPC64_FALSE
LIBGO_IS_PPC64_TRUE
LIBGO_IS_PPC_FALSE
@ -11119,7 +11121,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11122 "configure"
#line 11124 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -11225,7 +11227,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 11228 "configure"
#line 11230 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -13622,6 +13624,7 @@ is_m68k=no
mips_abi=unknown
is_ppc=no
is_ppc64=no
is_ppc64le=no
is_s390=no
is_s390x=no
is_sparc=no
@ -13733,14 +13736,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
is_ppc=yes
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__)
#error 64be
#endif
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
is_ppc64le=yes
else
is_ppc64=yes
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test "$is_ppc" = "yes"; then
GOARCH=ppc
else
elif test "$is_ppc64" = "yes"; then
GOARCH=ppc64
else
GOARCH=ppc64le
fi
;;
s390*-*-*)
@ -13880,6 +13897,14 @@ else
LIBGO_IS_PPC64_FALSE=
fi
if test $is_ppc64le = yes; then
LIBGO_IS_PPC64LE_TRUE=
LIBGO_IS_PPC64LE_FALSE='#'
else
LIBGO_IS_PPC64LE_TRUE='#'
LIBGO_IS_PPC64LE_FALSE=
fi
if test $is_s390 = yes; then
LIBGO_IS_S390_TRUE=
LIBGO_IS_S390_FALSE='#'
@ -15691,6 +15716,10 @@ if test -z "${LIBGO_IS_PPC64_TRUE}" && test -z "${LIBGO_IS_PPC64_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_PPC64\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBGO_IS_PPC64LE_TRUE}" && test -z "${LIBGO_IS_PPC64LE_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_PPC64LE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${LIBGO_IS_S390_TRUE}" && test -z "${LIBGO_IS_S390_FALSE}"; then
as_fn_error "conditional \"LIBGO_IS_S390\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5

View file

@ -194,6 +194,7 @@ is_m68k=no
mips_abi=unknown
is_ppc=no
is_ppc64=no
is_ppc64le=no
is_s390=no
is_s390x=no
is_sparc=no
@ -266,11 +267,18 @@ changequote([,])dnl
#ifdef _ARCH_PPC64
#error 64-bit
#endif],
[is_ppc=yes], [is_ppc64=yes])
[is_ppc=yes],
[AC_COMPILE_IFELSE([
#if defined(_BIG_ENDIAN) || defined(__BIG_ENDIAN__)
#error 64be
#endif],
[is_ppc64le=yes],[is_ppc64=yes])])
if test "$is_ppc" = "yes"; then
GOARCH=ppc
else
elif test "$is_ppc64" = "yes"; then
GOARCH=ppc64
else
GOARCH=ppc64le
fi
;;
s390*-*-*)
@ -310,6 +318,7 @@ AM_CONDITIONAL(LIBGO_IS_MIPSN64, test $mips_abi = n64)
AM_CONDITIONAL(LIBGO_IS_MIPSO64, test $mips_abi = o64)
AM_CONDITIONAL(LIBGO_IS_PPC, test $is_ppc = yes)
AM_CONDITIONAL(LIBGO_IS_PPC64, test $is_ppc64 = yes)
AM_CONDITIONAL(LIBGO_IS_PPC64LE, test $is_ppc64le = yes)
AM_CONDITIONAL(LIBGO_IS_S390, test $is_s390 = yes)
AM_CONDITIONAL(LIBGO_IS_S390X, test $is_s390x = yes)
AM_CONDITIONAL(LIBGO_IS_SPARC, test $is_sparc = yes)

View file

@ -5,4 +5,4 @@
package build
const goosList = "darwin dragonfly freebsd linux nacl netbsd openbsd plan9 solaris windows "
const goarchList = "386 amd64 amd64p32 arm arm64 alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 s390 s390x sparc sparc64 "
const goarchList = "386 amd64 amd64p32 arm arm64 alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 ppc64le s390 s390x sparc sparc64 "

View file

@ -379,7 +379,7 @@ localname() {
{
text="T"
case "$GOARCH" in
ppc64) text="[TD]" ;;
ppc64*) text="[TD]" ;;
esac
symtogo='sed -e s/_test/XXXtest/ -e s/.*_\([^_]*\.\)/\1/ -e s/XXXtest/_test/'