http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59430
Bug ID: 59430
Summary: [4.9 regression] os/user FAILs on Solaris
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: go
Assignee: ian at airs dot com
Reporter: ro at gcc dot gnu.org
Host: *-*-solaris2.*
Target: *-*-solaris2.*
Build: *-*-solaris2.*
The os/user test is now FAILing on Solaris:
--- FAIL: TestCurrent (0.00 seconds)
user_test.go:23: Current: user: lookup userid 2110: error 0
--- FAIL: TestLookup (0.00 seconds)
user_test.go:64: Current: user: lookup userid 2110: error 0
--- FAIL: TestLookupId (0.00 seconds)
user_test.go:82: Current: user: lookup userid 2110: error 0
FAIL
FAIL: os/user
I think this happens because lookup_unix.go assumes getpwnam_r and getpwuid_r
to return an int, while the Solaris functions return struct passwd unless
_POSIX_PTHREAD_SEMANTICS is defined (the POSIX.1c Draft 6 variants).
One needs to call __posix_getpwuid_r and __posix_getpwnam_r instead to get the
standard signatures.
Rainer