I can see the problem in gotest.  It has to do with the setting of GOARCH.

Previously GOARCH was being set based on the --goarch argument, but now
goarch is being set.  Not sure both GOARCH and goarch are needed?

I've attached a patch I used to get it to work. It worked for ppc64le and ppc64
with 64 and 32 bit.

On 11/03/2015 11:34 AM, Ian Lance Taylor wrote:
On Tue, Nov 3, 2015 at 7:48 AM, Lynn A. Boger
<labo...@linux.vnet.ibm.com> wrote:
We are seeing failures on all the libgo tests when gccgo is built with the
latest trunk
on ppc64 (BE) and when running the testsuite for 64 bit.  The failures
do not occur if run on ppc64 BE with m32 and do not occur on ppc64le.

The messages say this:

make[3]: Entering directory
`/home/boger/gccgo.work/trunk/bld/powerpc64-linux/libgo'
gotest: warning: no tests matching Test([^a-z].*)? in _gotest_.o _xtest_.o
FAIL: bufio
make[3]: *** [bufio/check] Error 1
gotest: warning: no tests matching Test([^a-z].*)? in _gotest_.o _xtest_.o
FAIL: bytes
make[3]: *** [bytes/check] Error 1
gotest: warning: no tests matching Test([^a-z].*)? in _gotest_.o _xtest_.o
FAIL: errors
I don't know that I have access to a big-endian PPC GNU/Linux machine any more.

My first guess would be that somehow this case in libgo/testsuite/gotest

text="T"
case "$GOARCH" in
ppc64*) text="[TD]" ;;
esac

is not triggering.  Although it checks for ppc64*, I think it's only
required on PPC64 ABI v1 (big-endian) and is not required for ABI v2
(little endian).

You could try changing to GOARCH there to goarch to see if it helps,
although as far as I can see either should work.

Otherwise, cd to the libgo working directory, run "make bufio/check",
figure out how it is running gotest, and run "bash -xv
gotest_invocation" and send it here.

Ian



Index: libgo/testsuite/gotest
===================================================================
--- libgo/testsuite/gotest	(revision 229711)
+++ libgo/testsuite/gotest	(working copy)
@@ -35,7 +35,6 @@
 pkgpath=
 prefix=
 dejagnu=no
-GOARCH=""
 timeout=240
 testname=""
 bench=""
@@ -118,15 +117,6 @@
 		dejagnu=`echo $1 | sed -e 's/^--dejagnu=//'`
 		shift
 		;;
-	x--goarch)
-		GOARCH=$2
-		shift
-		shift
-		;;
-	x--goarch=*)
-		GOARCH=`echo $1 | sed -e 's/^--goarch=//'`
-		shift
-		;;
 	x--timeout)
 		timeout=$2
 		shift
@@ -496,7 +486,7 @@
 
 {
 	text="T"
-	case "$GOARCH" in
+	case "$goarch" in
 	ppc64*) text="[TD]" ;;
 	esac
 

Reply via email to