Description
http://go.dev/cl/509020 broke the aix-ppc64 and solaris-amd64-oraclerel builders.
For AIX it appears that the secureFDs was previously not working as intended, as something at another level (presumably in the kernel) was already reopening FDs when the binary was SUID, meaning our calls to fcntl(F_GETFD) always returned the expected value with no error. Doing this when not in SUID returns -1 with an error of 0, which breaks our assumption that EBADF will be returned (also violates the IBM documentation, possibly suggesting we are not properly getting the error code).
For Solaris, I've not been able to acquire a buildlet to test yet, but the Oracle docs suggest nothing particularly obvious. Possible there is a similar thing happening as AIX?
Build logs:
- solaris-amd64-oraclerel: https://build.golang.org/log/5aa59f1efad3052841bc7d30603c2f29115d0daa
- aix-ppc64: https://build.golang.org/log/2c918acbd63b7da3ee0306178d3122f6e1e7f2bb