-
Notifications
You must be signed in to change notification settings - Fork 18k
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
all: add support for FreeBSD 11 #7849
Comments
i know the reason for math and strconv: freebsd-current uses runfast mode of vfp by default, which flushes denormal fp numbers to zero. Our toolchain needs to be able to reprent denormal numbers faithfully for some of the math/strconv tests. I'm not sure about the net test failure though. |
could you please give this CL: https://golang.org/cl/89610043 a try to see if it could fix the math and strconv test failures? Owner changed to @minux. Status changed to WaitingForReply. |
Thank you for testing the CL! I will remove irrelevant part of CL and get the essential fix included in 1.3 beta 2. I currently don't know why TestInterface fails on freebsd-current/arm, so if you find anything, please comment, thank you very much! (mikio mentioned that it could be due to "a side effect of multicast and sockaddr_dl cleanups on 11-current." in a recent post "[golang-dev] add support for FreeBSD 10") |
Thanks for the testing Go 1.3-beta1 on FreeBSD 11-CURRENT. We now understand that freebsd11 has more surprises than we expected but its release is two or more years away (at least after Jan. 2016), so remove Release-Go1.3Maybe tag from this issue for now. Labels changed: removed release-go1.3. Status changed to New. |
Can assign a release once the release date is clearer. #9 says it is at least after Jan 2016 Labels changed: added release-none, removed release-go1.4. Owner changed to @minux. |
types_freebsd.go |
Thanks for the information of ABI changes in 11-CURRENT. |
FreeBSD ports issue for Right now, there is a conditionally applied patch that changes the syscall module on FreeBSD-11. I'm not sure what would be a proper approach to get this solved properly in Go source itself without losing compatibility with FreeBSD 10 and earlier. Would a C preprocessor conditional in Looking at the source, it seems like |
A C preprocessor conditional would not be a good idea. I don't understand how the change in the if_data8 struct is causing trouble. As far as I can see, if_data8 is used in exactly one place: a field in if_msghdr8. And as far as I can see, if_msghdr8 is not used at all. I don't know why those types are defined. I think the real problem is the type IfData in ztypes_freebsd_.go, and its effect on IfMsghdr, and its use in route_freebsd_.go. The code in route_freebsd_32bit.go already does crazy stuff based on the kernel version. We would just have to do more of it there and in route_freebsd_64bit.go. Probably we would have to change IfMsghdr to the FreeBSD11 version, which would break compatibility slightly but that's OK since this is the syscall package. |
It's the offset and size of the ifi_datalen field that has changed in FreeBSD-11 which is causing problems; it's now 16-bits but types_freebsd/ztypes:IfData.Datalen is still 8bits. When parseInterfaceMessage accesses p.Header.Data.Datalen, it's not fetching the entire 16-bit value (little-endian results in a zero value from the MSB) so it returns a wrong InterfaceMessage.Data. |
And freebsd/386 on freebsd/amd64 shows us more crazy things. I think the solution would be just adding support for if_msghdrl into x/sys/unix and internal/syscall packages. It provides TLV-style data access view (at last) so we can make a type like |
It's a time to fix this issue. My rough plan is like the following:
|
CL https://golang.org/cl/22451 mentions this issue. |
CL https://golang.org/cl/22990 mentions this issue. |
This change reorganizes test cases for surveying network interfaces and address prefixes to make sure which part of the functionality is broken. Updates golang#7849. Change-Id: If6918075802eef69a7f1ee040010b3c46f4f4b97 Reviewed-on: https://go-review.googlesource.com/22990 Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
by smith.winston.101:
The text was updated successfully, but these errors were encountered: