On Fri, Aug 12, 2016 at 6:56 AM, Rainer Orth wrote: > Hi Ian, > >>>> this patch broke i386-pc-solaris2.12 and sparc-sun-solaris2.12 >>>> bootstrap, however: in both cases, the 64-bit build of os.lo fails like this: >>>> >>>> /vol/gcc/src/hg/trunk/local/libgo/go/os/dir.go:82:8: error: reference to undefined name 'libc_readdir_r' >>>> i := libc_readdir_r(file.dirinfo.dir, entryDirent, pr) >>>> ^ >>>> >>>> Neither dir_largefile.go (which is correctly omitted, being 32-bit only) >>>> nor dir_regfile.go (which is needed here) is included in the >>>> compilation. >>> >>> Sorry, I don't know what I messed up in my testing. I committed the >>> appended patch, which should fix the problem. >> >> I had found a different one to the same effect, but running match.sh >> with yours looked right, too. > > here's another issue found during wider testing: on Solaris 10 with > /bin/ksh as CONFIG_SHELL, the build aborts like this: > > objcopy: 'bufio.o': No such file > Makefile:5072: recipe for target 'bufio.gox' failed > make[4]: *** [bufio.gox] Error 1 > > It turns out that no bufio.o is created indeed: > > /vol/gcc/src/hg/trunk/local/libgo/../install-sh -c -d .; files=`echo | sed -e 's/[^ ]*\.gox//g' -e 's/[^ ]*\.dep//'`; /bin/ksh ./libtool --tag GO --mode=compile /var/gcc/regression/trunk/10-gcc/build/./gcc/gccgo -B/var/gcc/regression/trunk/10-gcc/build/./gcc/ -B/vol/gcc/i386-pc-solaris2.10/bin/ -B/vol/gcc/i386-pc-solaris2.10/lib/ -isystem /vol/gcc/i386-pc-solaris2.10/include -isystem /vol/gcc/i386-pc-solaris2.10/sys-include -minline-all-stringops -g -O2 -I . -c -fgo-pkgpath=`echo bufio.lo | sed -e 's/.lo$//' -e 's/-go$//'` -o bufio.lo $files > > The list of input files, output from the likes of > > /bin/ksh /vol/gcc/src/hg/trunk/local/libgo/match.sh --goarch=386 --goos=solaris --srcdir=/vol/gcc/src/hg/trunk/local/libgo/go/bufio --extrafiles="" > > is empty. Running match.sh with /bin/ksh -x reveals > > + set -e > + unset LANG > > where the script aborts. It turns out that /bin/ksh errors out on an > unset of a variable that isn't set. > > Maybe one could explicitly set LANG=C here, or use the `portable unset' > used in configure? That is a shell portability problem I was not aware of. I took your LANG=C suggestion. Bootstrapped and ran Go testsuite on x86_64-pc-linux-gnu. Committed to mainline. Ian