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

Reply via email to