syscall: import upstream code for BSD sockets and sysctls

Import some missing upstream code for BSD sockets and sysctls and
adapt it for gccgo.

Updates golang/go#38538.

Change-Id: I3b08bf01b499b5be55ef79b4633f47ba266d0148
Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/261137
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Benny Siegert <bsiegert@gmail.com>
3 files changed