Thanks, Ian. I did as you suggested. 

One file specifically, types_linux.go which I duped into types_nsx.go has a 
build statement that goes like this '+build ignore'. Github discussions 
around this suggest to me that I don't have to build this? But happy to be 
corrected. 

Also, can I build the bootstrap on windows or can I only do it in a POSIX 
environment - I don't see bootstrap.bat and running bootstrap.bash with 
GOOS=nsx and GOARCH=amd64 simply returns back the prompt?

On Wednesday, April 7, 2021 at 11:34:26 PM UTC+1 Ian Lance Taylor wrote:

> On Wed, Apr 7, 2021 at 4:47 AM Shiva <emailshiva...@gmail.com> wrote:
> >
> > Thanks, Ian. Another step closer. Should the build statement just say:
> >
> > +build nsx
> >
> > Or should it be subject to any other rule, because I see a lot of 
> different build statements in each of those directories and they vary.
>
> As a general guideline, follow the pattern of the existing files.
>
> If there is a case that is unclear, let us know.
>
> Ian
>
>
> > On Wednesday, March 24, 2021 at 6:44:00 PM UTC Ian Lance Taylor wrote:
> >>
> >> On Wed, Mar 24, 2021 at 11:18 AM Shiva <emailshiva...@gmail.com> wrote:
> >> >
> >> > Thank you for that, Ian.
> >> >
> >> > Just to confirm, I see the following -
> >> >
> >> > *_linux.c,
> >> > *_linux.h,
> >> > *_linux.go,
> >> > *_linux.s,
> >> > *_linux.pl
> >> >
> >> > They are in different directories - crypto, internal\syscall, net, 
> os, runtime, sync\atomic and syscall under the src directory. But you had 
> earlier mentioned only runtime and syscall packages so do I have to add the 
> rest too?
> >> >
> >> > After this I suppose I run bootstrap.bash which should create a go 
> package that I should try and run on the Nonstop.
> >>
> >> In the long run you will most likely have to handle all of those one
> >> way or another, yes. Except probably for mksysnum_linux.pl.
> >>
> >> Ian
> >>
> >>
> >>
> >> > On Tuesday, March 23, 2021 at 6:51:55 PM UTC Ian Lance Taylor wrote:
> >> >>
> >> >> On Tue, Mar 23, 2021 at 9:41 AM Shiva <emailshiva...@gmail.com> 
> wrote:
> >> >> >
> >> >> > Trying to pick this up where it was left, we have the list of 
> files *_linux.go, *_linux.s but not all of them have the build statements, 
> do we create new nsx files only for those which have build statements in 
> them or for all of those files?
> >> >>
> >> >> For all of them. And add build tags to all of them. The use of build
> >> >> tags in *_linux files is not consistent because the go tool has 
> always
> >> >> recognized *_linux file names specially.
> >> >>
> >> >> Ian
> >> >>
> >> >> > On Sunday, June 7, 2020 at 2:38:09 AM UTC+1 Ian Lance Taylor wrote:
> >> >> >>
> >> >> >> On Sat, Jun 6, 2020 at 8:57 AM Randall Becker <the.n...@gmail.com> 
> wrote:
> >> >> >> >
> >> >> >> > 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.
> >> >> >>
> >> >> >> Go uses its own assembler, in cmd/asm.
> >> >> >>
> >> >> >> Ian
> >> >> >>
> >> >> >>
> >> >> >> > 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> 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.
> >> >> >> >> > 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...@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
> .
> >> >> >
> >> >> > --
> >> >> > 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...@googlegroups.com.
> >> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/d12e5a2a-28f1-4f1f-9655-040fb0023878n%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...@googlegroups.com.
> >> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/c1277ef8-b1d4-42bc-9692-c9ef2a226723n%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...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/49d8cb7a-3a71-4ff5-a030-2f042de4137cn%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/c7027a16-c615-491c-a790-a8f0871fdcf0n%40googlegroups.com.

Reply via email to