-
Notifications
You must be signed in to change notification settings - Fork 17.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: NetBSD support #611
Labels
Milestone
Comments
I forgot to add: > If none does it, could let me know 'how to commit the code'? On the top level page http://golang.org/ in the left hand side panel there is an item "How to write code" which links to http://golang.org/doc/code.html, which in turn describes the process for contributing code. I've contributed a couple of minor fixes previously; the process wasn't difficult. I imagine if we produce a clean looking NetBSD port which passes the test suite, it would have a good chance of being picked up. But that I suspect is some time away. First, there's some porting to do, and I think 6l and 8l might be the easy parts. Figuring out the best choices for threading and semaphore interfaces inside the runtime package is my current area of work. So far as I know, none of the interfaces used in the OS X (Darwin), FreeBSD, or Linux ports are available natively in NetBSD, and using (say) the Linux implementation via NetBSD kernel emulation seems like a bad idea. FYI I'm working on NetBSD-5.0. Given the threading changes introduced in 5.0 starting there seemed best. I'll be happy if 4.0 can also be supported, but would value a "better" 5.0 port over a less good port which also supported 4.0. |
Hi Giles, First, thank you for your quick reply. I'm very happy to know you are working with it. My progress is also slow, too. >Perhaps we can collaborate on this work? I can put my existing patches on the web >somewhere, or mail them. I'm agree with your opinion. Currently my status is the following: - Target host is amd64, NetBSD-5.0 (now 5.0.2) - Compile golang with "FreeBSD" option (I change scripts not to check platform from 'uname', force build as FreeBSD) - golang library unit-test is failed because generated binary by 6l does not have NetBSD specific ELF section. Attached log might be easy to understand my status. Currently I do not take care of thread and semaphores and my target is "hello world." I will attach the diff after my workspace is updated. If you do not mind, please attach diffs and then let's get on the same page. Thanks, Tomofumi ----- Log kagaribi% pwd /home/tom/usr/go/src kagaribi% ./all.bash rm -f *.o *.6 6.out lib9.a (snip) gmake[1]: Entering directory `/home/tom/usr/go/src/pkg/archive/tar' gotest gmake[2]: Entering directory `/home/tom/usr/go/src/pkg/archive/tar' rm -f _test/archive/tar.a _gotest_.6 gmake[2]: Leaving directory `/home/tom/usr/go/src/pkg/archive/tar' gmake[2]: Entering directory `/home/tom/usr/go/src/pkg/archive/tar' 6g -o _gotest_.6 common.go reader.go writer.go reader_test.go writer_test.go rm -f _test/archive/tar.a gopack grc _test/archive/tar.a _gotest_.6 gmake[2]: Leaving directory `/home/tom/usr/go/src/pkg/archive/tar' /home/tom/usr/bin/gotest: line 164: ./6.out: cannot execute binary file gmake[1]: *** [test] Error 126 gmake[1]: Leaving directory `/home/tom/usr/go/src/pkg/archive/tar' gmake: *** [archive/tar.test] Error 2 |
I have put up a web page with notes about my approach, my email address, and links to the patches I have.I suspect we're better taking the discussion out of the issue tracker now. My web page is at: http://netherstone.net/golang/netbsd/ Until the DNS for netherstone.net updates, the IP address is 65.181.139.106: http://65.181.139.106/golang/netbsd/ Regards, Giles <giles.lean@pobox.com> |
[ Reposted to fix a critical typo in a domain name: the domain I'm using is in .org, not .net. ] I have put up a web page with notes about my approach, my email address, and links to the patches I have.I suspect we're better taking the discussion out of the issue tracker now. My web page is at: http://netherstone.org/golang/netbsd/ Until the DNS for netherstone.org updates, the IP address is 65.181.139.106: http://65.181.139.106/golang/netbsd/ Regards, Giles <giles.lean@pobox.com> |
I've created a blog to track my progress; the pre-existing main page is still there (and still looks like it was created about 1996 :-) and the blog's here: http://netherstone.org/golang/netbsd/blog/ I think it will be easier (and more obvious for anyone wanting to track my progress) to add a new posting when I have a new patch or newer version of an old patch. We'll see. As before; all help is welcome, and anyone wanting to assist should feel free to pitch in. |
If NetBSD runs well under KVM and somebody could write up a NetBSD zero-to-builder HOWTO for me (ideally on the Wiki), then I can follow the instructions on my home machine where the OpenBSD builder runs (er, ran... we should start it up again, now that Go 1 is out). Feel free to assign this bug to me if you want me to run a builder and that HOWTO has been written. |
FTR with Go tip (865991cd86fb): $ uname -mrs NetBSD 6.0_BETA2 amd64 $ ./all.bash ... ALL TESTS PASSED --- Installed Go for netbsd/amd64 in /home/joel/src/go Installed commands in /home/joel/src/go/bin $ uname -mrs NetBSD 6.0_BETA2 i386 $ ./all.bash ... ALL TESTS PASSED Installed Go for netbsd/386 in /home/joel/src/go Installed commands in /home/joel/src/go/bin |
Could somebody point me at a NetBSD 6 image that will run under KVM? Cernio contact says: "Yes, NetBSD is just fine as we are using KVM. We could install via ISO or simply a dd of a compressed image. Let me double check a few things and get back to you on which is easiest. If we go the pre-installed image route, you will need to do a few things: * Make sure you support KVM virtio devices or specify which devices you will need (e1000 for nic works well for example) * Make sure to support ACPI for powerbutton events." I imagine it'll be easiest if we just give them an image, and don't make them go through the install process for us. It would also be good to host somewhere so we can re-setup the builder hermetically later, from install instructions. |
minix.ma: Yes, I've been able to reproduce this - turns out that the netbsd32 compat code does not handle the same signal ABI versions that the standard kernels do. I've just sent out a change to address this. However, I'm now seeing another issue (readily triggered by the os/exec tests) that appears to be related to wait4 and signals... |
Re #23, i can confirm kvm on intel cpu works. @jsing, now, GOARCH=386 on amd64 NetBSD will always fail the net/http test. (TestTransportPersistConnLeak test timeout, and i've raised the 'ulimit -n') i don't see any failed os/exec test however. --- FAIL: TestStressSurpriseServerCloses (6.70 seconds) transport_test.go:440: presumed deadlock; no HTTP client activity seen in awhile |
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
by s1061123:
The text was updated successfully, but these errors were encountered: