UP | HOME

Go

Table of Contents

Test Log

1.15.7

https://deftly.net/patches/go-1.15.7.diff

Arch lang/go Bulk Tests
amd64 y OK ALL TESTS PASSED
arm64 y Running ALL TESTS PASSED
armv7 y - Running
i386 y E=graphics/jbig2dec lang/rust graphics/lcms2 textproc/docbook-xsl ALL TESTS PASSED

1.16beta1

Arch lang/go Bulk Tests
amd64 Y E=sysutils/amazon-ssm-agent sysutils/fleetctl textproc/loccount lang/cython FAIL cmd/compile/internal/logopt 6.767s, FAIL net/mail 0.073
arm64      
mips64 Y   FAIL net/mail 0.029s
i386 Y (needs GO386=softfloat, which isn't available on beta1)    
arm Y   FAIL cmd/trace 4.138s, FAIL net/mail 0.100s

1.15

Arch go port build Bulk Apps Tests
amd64 Y Y Y ALL TESTS PASSED
arm64 Y N Y Successive tests failed (same as before)
armv7 Y N Y ALL TESTS PASSED
i386 - - - -

Issues

KNOWNCAUSE Syncthing: sporadic crashes during tests

edd@ has run into an issue with a kqueue related crash with syncthing.

FIXED Race detector doesn't work

DONE Submit LLVM diff fo enable TSAN go stuff on OpenBSD

TODO Unable to compile PIE

Notes

go-* library removal

Since making the OpenBSD ports tree work with Go modules, we no longer need go-* libraries.

Last updated [2020-08-22 Sat]

Removed Library Deps
[X] devel/go-check-v1 -
[ ] devel/go-goptlib net/obfs4proxy
[ ] devel/go-sys databases/influxdb devel/go-goptlib devel/go-tools mail/opensmtpd-filters/rspamd net/go-net net/obfs4proxy net/websocketd net/wireguard-go security/go-crypto security/go-ed25519
[ ] net/go-net databases/influxdb devel/go-goptlib devel/go-tools net/obfs4proxy net/websocketd net/wireguard-go
[ ] security/go-crypto databases/influxdb devel/go-goptlib devel/go-tools net/go-net net/obfs4proxy net/websocketd net/wireguard-go security/go-ed25519
[ ] security/go-ed25519 net/obfs4proxy
[ ] security/go-siphash net/obfs4proxy
[ ] textproc/go-text databases/influxdb devel/go-goptlib devel/go-tools net/go-net net/obfs4proxy net/websocketd net/wireguard-go
[X] textproc/go-xlsx textproc/xlsx2csv
  • [X] xlsx2csv
    • [X] [2020-08-22 Sat] mail sent
    • [X] [2020-08-22 Sat] applied
  • [-] obfs4proxy
    • [X] [2020-08-22 Sat] mail sent
    • [ ] applied
  • [X] websocketd
    • [X] [2020-08-22 Sat] mail sent
    • [X] [2020-08-23 Sun]applied
  • [ ] wireguard-go (worth doing?) Talked with jasper@, will be removed come 6.8. He said it's removable now.
    • [ ] mail sent
    • [ ] applied
  • [ ] influxdb
    • [ ] mail sent
    • [ ] applied
  • [-] rspamd
    • [X] mail sent (PR #37)
    • [ ] applied

libc for syscalls

jsing@ is working on a change to make Go use OpenBSD's libc for syscalls.

  • Last update on it was [2020-01-04 Sat]
  • The issue for tracking is here: #36435

portgen

  • [2020-05-14 Thu] Committed the Go portgen bits!
portgen issues
  • FIXED mod go graph seemingly not displaying all deps

    [2020-05-16 Sat] A number of ports with large dependencies seem to need more dependencies than mod go graph shows. For example:

    • github.com/gruntwork-io/terragrunt
    • github.com/caddyserver/caddy/v2

    What's interesting is that things build fine with go build outside of the ports tree.

    • This was being caused by not properly getting a list of hard-deps. Switched to calling go list -m all to get a list of modules that are required (need .zip and .mod files).

PIE mode

Around [2020-02-01 Sat] I started working on PIE mode for Go amd64. Here is a diff to enable PIE on OpenBSD.

I got everything working:

  • It is able to produce binaries.
  • Tests pass.

However, about 50% of the time binaries produced with it die with a SIGSEGV.

  • [2020-02-11 Tue] Sent a mail to h@ to see if anyone could help out. Worked a bit with jsing@, interestingly it works fine on single CPU machines.

Race detector

DONE Send in the diff to add race to OpenBSD \o/

==================
WARNING: DATA RACE
Write at 0x00c000072180 by goroutine 7:
  runtime.mapassign_faststr()
      /home/qbit/src/go/src/runtime/map_faststr.go:202 +0x0
  main.main.func1()
      /tmp/racy/main.go:9 +0x5d

Previous write at 0x00c000072180 by main goroutine:
  runtime.mapassign_faststr()
      /home/qbit/src/go/src/runtime/map_faststr.go:202 +0x0
  main.main()
      /tmp/racy/main.go:12 +0xcb

Goroutine 7 (running) created at:
  main.main()
      /tmp/racy/main.go:8 +0x9c
==================
Found 1 data race(s)

TODO Plugins

While looking at PIE mode - it seems like it wouldn't be too hard to make plugins work.

amd64

arm64

CANCELED Update port to be > 1.14

sparc64

  • There is currently a port of Go to sparc64 available here. It might be usable as a bootstrap for OpenBSD's port.

    At the very least it will be a decent starting point.

powerpc64

Author: Aaron Bieber

Created: 2022-08-23 Tue 13:14

Validate