re PR go/88060 (../../../gcc-8.2.0/libgo/go/syscall/libcall_linux_utimesnano.go:17:18: error: reference to undefined name ‘_AT_FDCWD’)

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
This commit is contained in:
Ian Lance Taylor 2018-11-21 02:16:15 +00:00
parent dc1a3df45b
commit d3d684c642
2 changed files with 14 additions and 1 deletions

View File

@ -1,4 +1,4 @@
559fae430b81595efe151222385192a07a9fc3c3 37cb9763cbe8407b8c3a237b05a5272a226f14a0
The first line of this file holds the git revision number of the last The first line of this file holds the git revision number of the last
merge done from the gofrontend repository. merge done from the gofrontend repository.

View File

@ -202,6 +202,11 @@ if ! grep '^const AF_LOCAL ' ${OUT} >/dev/null 2>&1; then
fi fi
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. # sysconf constants.
grep '^const __SC' gen-sysinfo.go | grep '^const __SC' gen-sysinfo.go |
sed -e 's/^\(const \)__\(SC[^= ]*\)\(.*\)$/\1\2 = __\2/' >> ${OUT} 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/' \ -e 's/ip6m_mtu/Mtu/' \
>> ${OUT} >> ${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. # Try to guess the type to use for fd_set.
fd_set=`grep '^type _fd_set ' gen-sysinfo.go || true` fd_set=`grep '^type _fd_set ' gen-sysinfo.go || true`
fds_bits_type="_C_long" fds_bits_type="_C_long"