From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <616318C6-81ED-4F6B-AE82-87EBECDE97D3@gmail.com> Date: Tue, 26 Jan 2016 23:38:04 +0100 Message-ID: From: David du Colombier <0intro@gmail.com> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [9fans] Go on Plan 9? Topicbox-Message-UUID: 800aa12e-ead9-11e9-9d60-3106f5b1d025 > Note: I'm running 9front. I can build on amd64 but not 386. Last attempt > was 1.5 on 386, bootstrapped with 1.4.2: > > dl; go version > go version go1.4.2 plan9/386 > dl; GOROOT_BOOTSTRAP=3D/usr/local/go > dl; ./make.rc > ##### Building Go bootstrap tool. > cmd/dist > > ##### Building Go toolchain using /usr/local/go. > bootstrap/internal/obj > bootstrap/asm/internal/flags > bootstrap/compile/internal/big > bootstrap/internal/obj/arm > bootstrap/internal/obj/arm64 > bootstrap/internal/obj/ppc64 > bootstrap/internal/obj/x86 > bootstrap/asm/internal/lex > bootstrap/asm/internal/arch > bootstrap/internal/gcprog > bootstrap/compile/internal/gc > bootstrap/asm/internal/asm > bootstrap/asm > bootstrap/link/internal/ld > bootstrap/compile/internal/amd64 > bootstrap/compile/internal/arm > bootstrap/compile/internal/arm64 > bootstrap/compile/internal/ppc64 > bootstrap/compile/internal/x86 > bootstrap/link/internal/amd64 > bootstrap/compile > bootstrap/link/internal/arm > bootstrap/link/internal/arm64 > bootstrap/link/internal/ppc64 > bootstrap/link/internal/x86 > bootstrap/link > > ##### Building go_bootstrap for host, plan9/386. > runtime > panic: runtime error: floating point error > [signal 0x5 code=3D0x18837950 addr=3D0x8e826 pc=3D0x1f3f87] > > goroutine 1 [running]: > bootstrap/compile/internal/big.nat.string(0x10b52000, 0x10, 0x16,= 0x3511a8, 0xa, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv= .go:265 +0x117 > bootstrap/compile/internal/big.nat.decimalString(0x10b52000, 0x10= , 0x16, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/natconv= .go:241 +0x6c > bootstrap/compile/internal/big.(*Float).fmtB(0x10b769c0, 0x154f35= a0, 0x0, 0xa, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go= :258 +0x136 > bootstrap/compile/internal/big.(*Float).Append(0x10b769c0, 0x154f= 35a0, 0x0, 0xa, 0x62, 0x0, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go= :73 +0x249 > bootstrap/compile/internal/big.(*Float).Text(0x10b769c0, 0x154f35= 62, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/big/ftoa.go= :46 +0x98 > bootstrap/compile/internal/gc.Fconv(0x10b769c0, 0x0, 0x0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/gc/mparith3= .go:208 +0x6b > bootstrap/compile/internal/gc.Vconv(0x2f0360, 0x10b769c0, 0x8, 0x= 0, 0x0) > /usr/local/386/go1.5/src/cmd/compile/internal/gc/fmt.go:3= 27 +0x544 > bootstrap/compile/internal/gc.dumpasmhdr() > /usr/local/386/go1.5/src/cmd/compile/internal/gc/export.g= o:544 +0x748 > bootstrap/compile/internal/gc.Main() > /usr/local/386/go1.5/src/cmd/compile/internal/gc/lex.go:4= 95 +0x19c0 > bootstrap/compile/internal/x86.Main() > /usr/local/386/go1.5/src/cmd/compile/internal/x86/galign.= go:108 +0x5ff > main.main() > /usr/local/386/go1.5/src/cmd/compile/main.go:24 +0x9a > go tool dist: FAILED: /usr/local/386/go1.5/pkg/tool/plan9_386/com= pile -pack -o /tmp/go-tool-dist-289352163/_go_.a -p runtime -+ -asmhdr /tmp= /go-tool-dist-289352163/go_asm.h /usr/local/386/go1.5/src/runtime/alg.go /u= sr/local/386/go1.5/src/runtime/arch1_386.go /usr/local/386/go1.5/src/runtim= e/arch_386.go /usr/local/386/go1.5/src/runtime/atomic_386.go /usr/local/386= /go1.5/src/runtime/atomic_pointer.go /usr/local/386/go1.5/src/runtime/cgo.g= o /usr/local/386/go1.5/src/runtime/cgocall.go /usr/local/386/go1.5/src/runt= ime/cgocallback.go /usr/local/386/go1.5/src/runtime/chan.go /usr/local/386/= go1.5/src/runtime/compiler.go /usr/local/386/go1.5/src/runtime/complex.go /= usr/local/386/go1.5/src/runtime/cpuprof.go /usr/local/386/go1.5/src/runtime= /cputicks.go /usr/local/386/go1.5/src/runtime/debug.go /usr/local/386/go1.5= /src/runtime/defs_plan9_386.go /usr/local/386/go1.5/src/runtime/env_plan9.g= o /usr/local/386/go1.5/src/runtime/error.go /usr/local/386/go1.5/src/runtim= e/extern.go /usr/local/386/go1.5 > /src/runtime/hash32.go /usr/local/386/go1.5/src/runtime/hashmap.go /usr/= local/386/go1.5/src/runtime/hashmap_fast.go /usr/local/386/go1.5/src/runtim= e/heapdump.go /usr/local/386/go1.5/src/runtime/iface.go /usr/local/386/go1.= 5/src/runtime/lfstack.go /usr/local/386/go1.5/src/runtime/lfstack_32bit.go = /usr/local/386/go1.5/src/runtime/lock_sema.go /usr/local/386/go1.5/src/runt= ime/malloc.go /usr/local/386/go1.5/src/runtime/mbarrier.go /usr/local/386/g= o1.5/src/runtime/mbitmap.go /usr/local/386/go1.5/src/runtime/mcache.go /usr= /local/386/go1.5/src/runtime/mcentral.go /usr/local/386/go1.5/src/runtime/m= em_plan9.go /usr/local/386/go1.5/src/runtime/mfinal.go /usr/local/386/go1.5= /src/runtime/mfixalloc.go /usr/local/386/go1.5/src/runtime/mgc.go /usr/loca= l/386/go1.5/src/runtime/mgcmark.go /usr/local/386/go1.5/src/runtime/mgcswee= p.go /usr/local/386/go1.5/src/runtime/mgcwork.go /usr/local/386/go1.5/src/r= untime/mheap.go /usr/local/386/go1.5/src/runtime/mprof.go /usr/local/386/go= 1.5/src/runtime/msize.go > /usr/local/386/go1.5/src/runtime/mstats.go /usr/local/386/go1.5/src/runt= ime/netpoll_stub.go /usr/local/386/go1.5/src/runtime/os1_plan9.go /usr/loca= l/386/go1.5/src/runtime/os2_plan9.go /usr/local/386/go1.5/src/runtime/os3_p= lan9.go /usr/local/386/go1.5/src/runtime/os_plan9.go /usr/local/386/go1.5/s= rc/runtime/panic.go /usr/local/386/go1.5/src/runtime/panic1.go /usr/local/3= 86/go1.5/src/runtime/parfor.go /usr/local/386/go1.5/src/runtime/print1.go /= usr/local/386/go1.5/src/runtime/print1_write.go /usr/local/386/go1.5/src/ru= ntime/proc.go /usr/local/386/go1.5/src/runtime/proc1.go /usr/local/386/go1.= 5/src/runtime/race0.go /usr/local/386/go1.5/src/runtime/rdebug.go /usr/loca= l/386/go1.5/src/runtime/rune.go /usr/local/386/go1.5/src/runtime/runtime.go= /usr/local/386/go1.5/src/runtime/runtime1.go /usr/local/386/go1.5/src/runt= ime/runtime2.go /usr/local/386/go1.5/src/runtime/select.go /usr/local/386/g= o1.5/src/runtime/sema.go /usr/local/386/go1.5/src/runtime/signal_plan9.go /= usr/local/386/go1.5/src/r > untime/sigqueue_plan9.go /usr/local/386/go1.5/src/runtime/slice.go /usr/= local/386/go1.5/src/runtime/softfloat64.go /usr/local/386/go1.5/src/runtime= /sqrt.go /usr/local/386/go1.5/src/runtime/stack1.go /usr/local/386/go1.5/sr= c/runtime/stack2.go /usr/local/386/go1.5/src/runtime/string.go /usr/local/3= 86/go1.5/src/runtime/string1.go /usr/local/386/go1.5/src/runtime/stubs.go /= usr/local/386/go1.5/src/runtime/stubs32.go /usr/local/386/go1.5/src/runtime= /symtab.go /usr/local/386/go1.5/src/runtime/sys_x86.go /usr/local/386/go1.5= /src/runtime/time.go /usr/local/386/go1.5/src/runtime/trace.go /usr/local/3= 86/go1.5/src/runtime/traceback.go /usr/local/386/go1.5/src/runtime/type.go = /usr/local/386/go1.5/src/runtime/typekind.go /usr/local/386/go1.5/src/runti= me/typekind1.go /usr/local/386/go1.5/src/runtime/unaligned1.go /usr/local/3= 86/go1.5/src/runtime/vdso_none.go /usr/local/386/go1.5/src/runtime/vlrt.go = /usr/local/386/go1.5/src/runtime/wbfat.go /usr/local/386/go1.5/src/runtime/= zgoarch_386.go /usr/local > /386/go1.5/src/runtime/zgoos_plan9.go /usr/local/386/go1.5/src/runtime/z= version.go: exit status: 'compile 4056549: 2' > > I understand Fish and Aram were at least able to build 1.5 on (Bell Labs) > 386. I made noise about my failure at the time but I don't think anything > has happened in response. I did try bootstrapping with 1.4.2 binaries > supplied by Fish (and also a set provided by Aram) but got the same > results. > > Beyond simply building, there are also still outstanding bug reports > about basic functionality that affect all versions of Plan 9. I don't > think there has been much movement there, either. This is a known issue, specific to 9front on 386. Somewhere in November 201= 4, just before the Go 1.4 release, there was a regression that caused this iss= ue. Sadly, I didn't have time to investigate it yet. Plan 9 on 386 and 9front on amd64 are not affected by this issue and are all able to compile and run Go 1.4, 1.5 and 1.6 successfully. --=20 David du Colombier