re PR go/88060 (../../../gcc-8.2.0/libgo/go/syscall/libcall_linux_utimesnano.go:17...
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 21 Nov 2018 02:16:15 +0000 (02:16 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 21 Nov 2018 02:16:15 +0000 (02:16 +0000)
PR go/88060
    syscall: always define _AT_FDCWD and IPv6MTUInfo

    They aren't defined by old versions of glibc, but are required by the
    code in syscall_linux.go.

    Reviewed-on: https://go-review.googlesource.com/c/150697

From-SVN: r266333

gcc/go/gofrontend/MERGE
libgo/mksysinfo.sh

index 6c5d5bc93d2f218f3e79c0e29bce8b62f8216360..110cb8416a850ab768b2dc75c9ef96019a74aff1 100644 (file)
@@ -1,4 +1,4 @@
-559fae430b81595efe151222385192a07a9fc3c3
+37cb9763cbe8407b8c3a237b05a5272a226f14a0
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 2fa7affedb526e006c25e7ed5bb00935d599cfbd..d4286dc1b1d52430a4f7f885ca4801f105d97302 100755 (executable)
@@ -202,6 +202,11 @@ if ! grep '^const AF_LOCAL ' ${OUT} >/dev/null 2>&1; then
   fi
 fi
 
+# The syscall package requires _AT_FDCWD, but doesn't export it.
+if ! grep '^const _AT_FDCWD = ' ${OUT} >/dev/null 2>&1; then
+  echo "const _AT_FDCWD = -100" >> ${OUT}
+fi
+
 # sysconf constants.
 grep '^const __SC' gen-sysinfo.go |
   sed -e 's/^\(const \)__\(SC[^= ]*\)\(.*\)$/\1\2 = __\2/' >> ${OUT}
@@ -669,6 +674,14 @@ grep '^type _ip6_mtuinfo ' gen-sysinfo.go | \
       -e 's/ip6m_mtu/Mtu/' \
     >> ${OUT}
 
+# We need IPv6MTUInfo to compile the syscall package.
+if ! grep 'type IPv6MTUInfo ' ${OUT} >/dev/null 2>&1; then
+  echo 'type IPv6MTUInfo struct { Addr RawSockaddrInet6; Mtu uint32; }' >> ${OUT}
+fi
+if ! grep 'const _sizeof_ip6_mtuinfo = ' ${OUT} >/dev/null 2>&1; then
+  echo 'const SizeofIPv6MTUInfo = 32' >> ${OUT}
+fi
+
 # Try to guess the type to use for fd_set.
 fd_set=`grep '^type _fd_set ' gen-sysinfo.go || true`
 fds_bits_type="_C_long"