From bdead75ea02fa852a559f35b41453df0c47c9a66 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 22 Jun 2018 06:24:48 -0700 Subject: [PATCH] syscall: remove Ustat glibc 2.28 removes ustat.h and the ustat function entirely, which breaks syscall.Ustat. Updates golang/go#25990 Change-Id: I430802c86389a02cb4a0cd6caff36fa542d98f2f Reviewed-on: https://go-review.googlesource.com/120535 Reviewed-by: Than McIntosh --- libgo/config.h.in | 3 --- libgo/configure | 33 --------------------------------- libgo/configure.ac | 18 ------------------ libgo/go/syscall/libcall_linux_ustat.go | 12 ------------ libgo/mksysinfo.sh | 14 -------------- libgo/sysinfo.c | 3 --- 6 files changed, 83 deletions(-) delete mode 100644 libgo/go/syscall/libcall_linux_ustat.go diff --git a/libgo/config.h.in b/libgo/config.h.in index 57560cd0..de57d0cc 100644 --- a/libgo/config.h.in +++ b/libgo/config.h.in @@ -343,9 +343,6 @@ /* Define to 1 if you have the `unshare' function. */ #undef HAVE_UNSHARE -/* Define to 1 if you have the header file and it works. */ -#undef HAVE_USTAT_H - /* Define to 1 if you have the `utimensat' function. */ #undef HAVE_UTIMENSAT diff --git a/libgo/configure b/libgo/configure index 66942eda..7166f940 100755 --- a/libgo/configure +++ b/libgo/configure @@ -14760,39 +14760,6 @@ fi done -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether can be used" >&5 -$as_echo_n "checking whether can be used... " >&6; } -if test "${libgo_cv_c_ustat_h+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - CFLAGS_hold=$CFLAGS -CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE $OSCFLAGS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef HAVE_LINUX_FILTER_H -#include -#endif -#include - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - libgo_cv_c_ustat_h=yes -else - libgo_cv_c_ustat_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -CFLAGS=$CFLAGS_hold -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgo_cv_c_ustat_h" >&5 -$as_echo "$libgo_cv_c_ustat_h" >&6; } -if test $libgo_cv_c_ustat_h = yes; then - -$as_echo "#define HAVE_USTAT_H 1" >>confdefs.h - -fi - if test "$ac_cv_header_sys_mman_h" = yes; then HAVE_SYS_MMAN_H_TRUE= HAVE_SYS_MMAN_H_FALSE='#' diff --git a/libgo/configure.ac b/libgo/configure.ac index 3cee2c0f..1c192752 100644 --- a/libgo/configure.ac +++ b/libgo/configure.ac @@ -537,24 +537,6 @@ AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h #endif ]) -AC_CACHE_CHECK([whether can be used], -[libgo_cv_c_ustat_h], -[CFLAGS_hold=$CFLAGS -CFLAGS="$CFLAGS -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE $OSCFLAGS" -AC_COMPILE_IFELSE( -[AC_LANG_SOURCE([ -#include -#ifdef HAVE_LINUX_FILTER_H -#include -#endif -#include -])], [libgo_cv_c_ustat_h=yes], [libgo_cv_c_ustat_h=no]) -CFLAGS=$CFLAGS_hold]) -if test $libgo_cv_c_ustat_h = yes; then - AC_DEFINE(HAVE_USTAT_H, 1, - [Define to 1 if you have the header file and it works.]) -fi - AM_CONDITIONAL(HAVE_SYS_MMAN_H, test "$ac_cv_header_sys_mman_h" = yes) AC_CHECK_FUNCS(strerror_r strsignal wait4 mincore setenv unsetenv dl_iterate_phdr) diff --git a/libgo/mksysinfo.sh b/libgo/mksysinfo.sh index 92ecb479..48bc71db 100755 --- a/libgo/mksysinfo.sh +++ b/libgo/mksysinfo.sh @@ -1164,20 +1164,6 @@ grep '^type _sysinfo ' gen-sysinfo.go | \ -e 's/mem_unit/Unit/' \ >> ${OUT} -# The ustat struct. -grep '^type _ustat ' gen-sysinfo.go | \ - sed -e 's/_ustat/Ustat_t/' \ - -e 's/f_tfree/Tfree/' \ - -e 's/f_tinode/Tinoe/' \ - -e 's/f_fname/Fname/' \ - -e 's/f_fpack/Fpack/' \ - >> ${OUT} -# Force it to be defined, as on some older GNU/Linux systems the -# header file fails when using with . -if ! grep 'type _ustat ' gen-sysinfo.go >/dev/null 2>&1; then - echo 'type Ustat_t struct { Tfree int32; Tinoe uint64; Fname [5+1]int8; Fpack [5+1]int8; }' >> ${OUT} -fi - # The utimbuf struct. grep '^type _utimbuf ' gen-sysinfo.go | \ sed -e 's/_utimbuf/Utimbuf/' \ --- gcc-6.4.0/libgo/Makefile.am.old 2016-02-03 15:58:02.419872000 -0600 +++ gcc-6.4.0/libgo/Makefile.am 2018-06-23 02:55:45.772611885 -0500 @@ -1,4 +1,3 @@ -# Makefile.am -- Go library Makefile. # Copyright 2009 The Go Authors. All rights reserved. # Use of this source code is governed by a BSD-style @@ -1989,17 +1988,6 @@ syscall_lsf_file = endif -# GNU/Linux specific ustat support. -if LIBGO_IS_LINUX -if LIBGO_IS_ARM64 -syscall_ustat_file = -else -syscall_ustat_file = go/syscall/libcall_linux_ustat.go -endif -else -syscall_ustat_file = -endif - # GNU/Linux specific utimesnano support. if LIBGO_IS_LINUX syscall_utimesnano_file = go/syscall/libcall_linux_utimesnano.go @@ -2051,7 +2039,6 @@ $(syscall_uname_file) \ $(syscall_netlink_file) \ $(syscall_lsf_file) \ - $(syscall_ustat_file) \ $(syscall_utimesnano_file) \ $(GO_LIBCALL_OS_FILE) \ $(GO_LIBCALL_OS_ARCH_FILE) \ --- gcc-6.4.0/libgo/Makefile.in.old 2016-02-03 15:58:02.419872000 -0600 +++ gcc-6.4.0/libgo/Makefile.in 2018-06-23 02:56:04.842611681 -0500 @@ -2080,11 +2080,6 @@ # GNU/Linux specific socket filters. @LIBGO_IS_LINUX_TRUE@syscall_lsf_file = go/syscall/lsf_linux.go -@LIBGO_IS_ARM64_FALSE@@LIBGO_IS_LINUX_TRUE@syscall_ustat_file = go/syscall/libcall_linux_ustat.go - -# GNU/Linux specific ustat support. -@LIBGO_IS_ARM64_TRUE@@LIBGO_IS_LINUX_TRUE@syscall_ustat_file = -@LIBGO_IS_LINUX_FALSE@syscall_ustat_file = @LIBGO_IS_LINUX_FALSE@syscall_utimesnano_file = go/syscall/libcall_posix_utimesnano.go # GNU/Linux specific utimesnano support. @@ -2122,7 +2117,6 @@ $(syscall_uname_file) \ $(syscall_netlink_file) \ $(syscall_lsf_file) \ - $(syscall_ustat_file) \ $(syscall_utimesnano_file) \ $(GO_LIBCALL_OS_FILE) \ $(GO_LIBCALL_OS_ARCH_FILE) \