diff mbox

[libgo] Backport to gcc 4.9 GOARCH setting for ppc64le

Message ID 54A2FCCF.3040407@linux.vnet.ibm.com
State New
Headers show

Commit Message

Lynn A. Boger Dec. 30, 2014, 7:28 p.m. UTC
Hi,

Please backport this change to the gcc 4.9 branch so that the GOARCH 
value setting for ppc64le is consistent with trunk.
This has been bootstrapped and regression tested on ppc64le and ppc64 
(along with the other patches submitted for the
4.9 branch today).

2014-12-30  Lynn Boger <laboger@linux.vnet.ibm.com>

     * gcc/testsuite/go.test/go-test.exp:  Recognize goarch value pp64le
     * libgo/configure.ac:  Set GOARCH ppc64le where appropriate
     * libgo/go/go/build/syslist.go:  Add ppc64le to the goarchList
     * libgo/configure:  regenerate
diff mbox

Patch

Index: gcc/testsuite/go.test/go-test.exp
===================================================================
--- gcc/testsuite/go.test/go-test.exp	(revision 218817)
+++ gcc/testsuite/go.test/go-test.exp	(working copy)
@@ -241,7 +241,11 @@  proc go-set-goarch { } {
 	    if [check_effective_target_ilp32] {
 		set goarch "ppc"
 	    } else {
-		set goarch "ppc64"
+		if [istarget "powerpc64le-*-*"] {
+		    set goarch "ppc64le"
+		} else {
+		    set goarch "ppc64"
+		}
 	    }
 	}
 	"sparc*-*-*" {
Index: libgo/configure.ac
===================================================================
--- libgo/configure.ac	(revision 218817)
+++ libgo/configure.ac	(working copy)
@@ -179,6 +179,7 @@  is_m68k=no
 mips_abi=unknown
 is_ppc=no
 is_ppc64=no
+is_ppc64le=no
 is_sparc=no
 is_sparc64=no
 is_x86_64=no
@@ -249,11 +250,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
+    elif test "$is_ppc64" = "yes"; then
+      GOARCH=ppc64
     else
-      GOARCH=ppc64
+      GOARCH=ppc64le
     fi
     ;;
   sparc*-*-*)
@@ -281,6 +289,7 @@  AM_CONDITIONAL(LIBGO_IS_MIPSN64, test $mips_abi =
 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_SPARC, test $is_sparc = yes)
 AM_CONDITIONAL(LIBGO_IS_SPARC64, test $is_sparc64 = yes)
 AM_CONDITIONAL(LIBGO_IS_X86_64, test $is_x86_64 = yes)
Index: libgo/go/go/build/syslist.go
===================================================================
--- libgo/go/go/build/syslist.go	(revision 218817)
+++ libgo/go/go/build/syslist.go	(working copy)
@@ -5,4 +5,4 @@ 
 package build
 
 const goosList = "darwin dragonfly freebsd linux netbsd openbsd plan9 windows solaris "
-const goarchList = "386 amd64 arm arm64 alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 sparc sparc64 "
+const goarchList = "386 amd64 arm arm64 alpha m68k mipso32 mipsn32 mipsn64 mipso64 ppc ppc64 ppc64le sparc sparc64 "