Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
GitHub is where the world builds software
Millions of developers and companies build, ship, and maintain their software on GitHub — the largest and most advanced development platform in the world.
syscall: missing sockios.h defines #6894
The syscall package is missing the Linux SIOCBRADDBR ioctl constant from /usr/include/linux/sockios.h . I'm not sure if Go aims to define all possible constants, but this one would be useful for upstream Docker (moby/moby#2992. What steps will reproduce the problem? grep -r SIOCBRADDBR <go source> What is the expected output? SIOCBRADDBR = 0x89a0 What do you see instead? nothing Which compiler are you using (5g, 6g, 8g, gccgo)? 6g Which operating system are you using? Linux Which version are you using? (run 'go version') 1.2 Please provide any additional information below.
i think we generally only include what's used by the Go standard library and what is needed to use other part of the syscall package. The other problem is that, even if we could add it to the syscall package, you probably don't want to force your user to use Go tip before Go 1.3 is released. And if you use conditional compilation to also support older Go versions, you need to add the definition to your source code anyway.
Status changed to Unfortunate.
> i think we generally only include what's used by the Go standard library > and what is needed to use other part of the syscall package. That doesn't seem to be the case, as a recursive grep of, for example SIOCADDDLCI, shows no in-tree users: ~/goroot/src/pkg $ grep -r SIOCADDDLCI syscall/zerrors_linux_amd64.go: SIOCADDDLCI = 0x8980 syscall/zerrors_linux_386.go: SIOCADDDLCI = 0x8980 syscall/zerrors_linux_arm.go: SIOCADDDLCI = 0x8980 > The other problem is that, even if we could add it to the syscall package, > you probably don't want to force your user to use Go tip before Go 1.3 > is released. And if you use conditional compilation to also support older > Go versions, you need to add the definition to your source code anyway. I'm not really concerned about this issue, it's no problem to define the constant within docker in the mean time (or permanently if Go doesn't support it).