Thanks. Where do fix the linker. I found the files to modify - so will 
basically copy the *_linux.go, *_linux.s in both runtime and syscalls to 
*_nsx.go and *_nsx.s, replacing +build lines with nsx instead of linux, I 
assume. Currently looking for an assembler cross-compiler for the platform 
(I may have to write one, something I'm much more comfortable with than the 
GO port) - I can wrap asm in C code, but I don't know how to get GO to 
recognize that.

On Friday, 5 June 2020 19:03:07 UTC-4, Ian Lance Taylor 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 golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/8c4b6dbd-f1af-4df4-a413-88e41d1b558co%40googlegroups.com.

Reply via email to