There are two variants - TNS/E, which uses Itanium, and TNS/X, which is x86-64. I'm going for the TNS/X variant because it is the future of the platform.
On Friday, 5 June 2020 22:09:09 UTC-4, Gé Weijers wrote: > > I thought HPE Nonstop uses the Itanium processor (X64, not X86-64, it's > completely unrelated to the common desktop CPU). You'd need to create a new > code generator for that platform, and given that it's a VLIW processor that > would be a major research project. Endianness is the least of your problems > here, code generation for this type of processor is notoriously hard, so it > does not surprise me that GCC is not available. > > Gé > > On Fri, Jun 5, 2020 at 4:02 PM Ian Lance Taylor <ia...@golang.org > <javascript:>> wrote: > >> On Fri, Jun 5, 2020 at 3:46 PM Randall Becker <the....@gmail.com >> <javascript:>> wrote: >> > >> > That's actually what I figured. So where do I look to add nsx to the >> toolchain? >> >> You'll have to fix the linker to generate whatever nsx expects. >> You'll have to add code to support nsx in the runtime and syscall >> packages. Pick which supported OS is most like nsx; let's say it's >> linux. Look for *_linux.go and *_linux.s files; you'll need nsx >> versions of those files. Look for +build lines in files that say >> linux; you'll need to add nsx, or write a separate file that works on >> nsx. >> >> It's a lot of work. >> >> Ian >> >> >> > On Friday, 5 June 2020 17:03:11 UTC-4, Ian Lance Taylor wrote: >> >> >> >> On Fri, Jun 5, 2020 at 12:49 PM Randall Becker <the....@gmail.com> >> wrote: >> >> > >> >> > Some progress. I've managed to build 1.14.4 using the Windows GO >> implementation. The trouble I was having was using cygwin64. After figuring >> that part out... >> >> > >> >> > I checked out a new branch from release_go1.14 named nonstop_port >> >> > >> >> > Then ran >> >> > >> >> > GOARCH=amd64 GOOS=nsx bootstrap.bash >> >> > which failed because I am using cygwin64, but then ran make.bat from >> inside ../../go-nsx-amd64-bootstrap >> >> > That installed a go binary in go-nsx-amd64-bootstrap/bin >> >> > >> >> > This still used the whatever compiler it chose to use, presumably >> gcc-generated code, but the executable will not run on the NonStop platform >> at all. The key here is that I need to use c99 for cross-compilation. >> >> > >> >> > Where do I go next, please? >> >> >> >> I'm sure how to answer that except to say that you need to add support >> >> for nsx to the Go toolchain. The Go toolchain is written in Go, not >> >> C, so the mention of c99 seems irrelevant. Your first step is to >> >> build a Go toolchain that runs on your host system (not your nsx >> >> system), which you've done. The second step is to add nsx support to >> >> the toolchain. The third step is to run bootstrap.bash. The fact >> >> that bootstrap.bash gives you a program that won't run on nsx suggests >> >> that the second step is not complete. >> >> >> >> Ian >> >> >> >> >> >> >> >> > On Wednesday, 27 May 2020 08:01:17 UTC-4, Randall Becker wrote: >> >> >> >> >> >> We've gotten nowhere on this despite trying. Installing GO on >> windows went fine, based on what Ian suggested, but specifying GOOS=nsx >> fails immediately as being unrecognized (rather obvious). The archictture >> is not a powerPC, so I'm not sure why I would start there - it is a >> big-endian x86. >> >> >> >> >> >> On Wednesday, 13 May 2020 11:33:00 UTC-4, Bruno Albuquerque wrote: >> >> >>> >> >> >>> Now you create your branch or whatever of the Go code and start >> porting it to your platform. As a first step, you will probably want to add >> the new nsx GOOS. Then you use your go1.14.2 installation to compile it >> (with bootstarp.sh) setting GOOS=nsx for cross compiling. Something like >> this: >> >> >>> >> >> >>> GOOS=nsx GOARCH=ppc64 bootstrap.bash >> >> >>> >> >> >>> That will not work at first. Now you have to make it work, which >> *IS* the porting process. >> >> >>> >> >> >>> Eventually you will be able to compile everything and generate a >> go toolchain for your platform. At that point you will copy the generated >> files to the target platform and test it. >> >> >>> >> >> >>> That will most likely fail in your first attempt. Then go back, >> fix what you think is broken and try again. >> >> >>> >> >> >>> On Wed, May 13, 2020 at 8:11 AM Randall Becker <the....@gmail.com> >> wrote: >> >> >>>> >> >> >>>> >> >> >>>> >> >> >>>> On Tuesday, 12 May 2020 20:02:01 UTC-4, Ian Lance Taylor wrote: >> >> >>>>> >> >> >>>>> On Tue, May 12, 2020 at 2:17 PM Randall Becker < >> the....@gmail.com> wrote: >> >> >>>>> > >> >> >>>>> > On Tuesday, 12 May 2020 16:55:54 UTC-4, Ian Lance Taylor wrote: >> >> >>>>> >> >> >> >>>>> >> On Tue, May 12, 2020 at 1:11 PM Randall Becker < >> the....@gmail.com> wrote: >> >> >>>>> >> > >> >> >>>>> >> > I have the go repository with release-branch.go1.4 checked >> out on a Windows/cygwin64 installation. Looking for the bootstrap.bash and >> not finding one in that branch. Assuming that my eventual target will be >> called nsx (rather the standard name for other open source projects), would >> this be amd64 as a starting point, or does that not matter? Not sure about >> the next step. make.bat to build for Windows first? >> >> >>>>> >> >> >> >>>>> >> The only reason to use go1.4 is to use it to build a newer >> version of >> >> >>>>> >> Go, ideally the current version. Once you've built the >> current >> >> >>>>> >> version, use that for everything else, and set your go1.4 >> build aside >> >> >>>>> >> unless and until you need to build Go from scratch again. >> >> >>>>> >> >> >> >>>>> >> Yes, I assume that you would use amd64 as a starting point, >> since your >> >> >>>>> >> target is 64-bit x86 based >> >> >>>>> > >> >> >>>>> > >> >> >>>>> > So if I get this, build go1.4 from source under Windows, and >> bootstrap.bash (but that does not exist in the branch), with the GOOS=nsx >> and GOARCH=amd64, then build within the created tree using the cross >> compilers. Then build the newest on the target platform using the go1.4 >> cross compiled version. >> >> >>>>> > >> >> >>>>> > Still wondering what to use for bootstrap.bash, though. >> >> >>>>> >> >> >>>>> No, build Go1.4 from source on Windows. Use that to build Go >> 1.14.2 >> >> >>>>> (say) on Windows, as described at >> >> >>>>> https://golang.org/doc/install-source.html. Then use Go 1.14.2 >> with >> >> >>>>> bootstrap.bash. Go 1.14.2 comes with bootstrap.bash. >> >> >>>>> >> >> >>>>> Once you have Go 1.14.2, throw away Go1.4 and never use it >> again. The >> >> >>>>> only reason to use Go1.4 is to build a newer version of Go. Once >> >> >>>>> you've done that, use the newer version of Go for everything. >> >> >>>>> >> >> >>>>> For that matter, you can just download Go 1.14.2 for Windows. >> Go 1.4 >> >> >>>>> is there for people who want to bootstrap from source rather >> than rely >> >> >>>>> on downloaded binaries. >> >> >>>>> >> >> >>>>> Ian >> >> >>>> >> >> >>>> >> >> >>>> I have Go 1.14.2 installed and working under Windows. Not sure >> the next step. Sorry, I was assuming a source build, so I'm a bit clueless. >> >> >>>> >> >> >>>> -- >> >> >>>> You received this message because you are subscribed to the >> Google Groups "golang-nuts" group. >> >> >>>> To unsubscribe from this group and stop receiving emails from it, >> send an email to golan...@googlegroups.com. >> >> >>>> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/708b93b8-6aea-4339-85bb-06a69a32a481%40googlegroups.com >> . >> >> > >> >> > -- >> >> > You received this message because you are subscribed to the Google >> Groups "golang-nuts" group. >> >> > To unsubscribe from this group and stop receiving emails from it, >> send an email to golan...@googlegroups.com. >> >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/736500a7-2dbd-4aba-8996-68b23c6532f5o%40googlegroups.com >> . >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "golang-nuts" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to golan...@googlegroups.com <javascript:>. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/2b6e78c3-a733-4162-801d-d50623018893o%40googlegroups.com >> . >> >> -- >> You received this message because you are subscribed to the Google Groups >> "golang-nuts" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to golan...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXQyOMOq7dHT0JkwcJg6DHB3j-J8tGXOe84kowcy0H4PA%40mail.gmail.com >> . >> > > > -- > Gé > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/684ed1a3-d98c-43e4-b0a2-6874fc38d23ao%40googlegroups.com.