net: declare lib_getaddrinfo as returning int32
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 1 Feb 2018 15:49:53 +0000 (15:49 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 1 Feb 2018 15:49:53 +0000 (15:49 +0000)
    Otherwise on a 64-bit system we will read the 32-bit value as a 64-bit
    value.  Since getaddrinfo returns negative numbers as error values,
    these will be interpreted as numbers like 0xfffffffe rather than -2,
    and the comparisons with values like syscall.EAI_NONAME will fail.

    Fixes golang/go#23645

    Reviewed-on: https://go-review.googlesource.com/91296

From-SVN: r257299

gcc/go/gofrontend/MERGE
libgo/go/net/cgo_unix.go

index 7dc00636527f2c6e2793c89bba9e795365846fc6..935c0880db86eb651e298c618fe5855bc74e1c33 100644 (file)
@@ -1,4 +1,4 @@
-71758f9ca1804743afe178f0e2fca489e0217474
+b833695618d1a5d9d531f5ba0f9c07c7e35e0073
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 5866d38482092727f577a16cf7fc745f324ddf87..5ea13bcba8dae7d105195d490808235222283c36 100644 (file)
@@ -23,7 +23,7 @@ import (
 )
 
 //extern getaddrinfo
-func libc_getaddrinfo(node *byte, service *byte, hints *syscall.Addrinfo, res **syscall.Addrinfo) int
+func libc_getaddrinfo(node *byte, service *byte, hints *syscall.Addrinfo, res **syscall.Addrinfo) int32
 
 //extern freeaddrinfo
 func libc_freeaddrinfo(res *syscall.Addrinfo)