Commit 38a4d6da by Ian Lance Taylor

syscall: remove Ustat

    
    glibc 2.28 removes ustat.h and the ustat function entirely, which
    breaks syscall.Ustat.
    
    Updates golang/go#25990
    
    Reviewed-on: https://go-review.googlesource.com/120535

From-SVN: r261896
parent 626d407b
d3eb93c1b8990dbfd4bb660c5c8454916b62655c bdead75ea02fa852a559f35b41453df0c47c9a66
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.
...@@ -343,9 +343,6 @@ ...@@ -343,9 +343,6 @@
/* Define to 1 if you have the `unshare' function. */ /* Define to 1 if you have the `unshare' function. */
#undef HAVE_UNSHARE #undef HAVE_UNSHARE
/* Define to 1 if you have the <ustat.h> header file and it works. */
#undef HAVE_USTAT_H
/* Define to 1 if you have the `utimensat' function. */ /* Define to 1 if you have the `utimensat' function. */
#undef HAVE_UTIMENSAT #undef HAVE_UTIMENSAT
......
...@@ -14760,39 +14760,6 @@ fi ...@@ -14760,39 +14760,6 @@ fi
done done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether <ustat.h> can be used" >&5
$as_echo_n "checking whether <ustat.h> 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 <sys/types.h>
#ifdef HAVE_LINUX_FILTER_H
#include <linux/filter.h>
#endif
#include <ustat.h>
_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 if test "$ac_cv_header_sys_mman_h" = yes; then
HAVE_SYS_MMAN_H_TRUE= HAVE_SYS_MMAN_H_TRUE=
HAVE_SYS_MMAN_H_FALSE='#' HAVE_SYS_MMAN_H_FALSE='#'
......
...@@ -537,24 +537,6 @@ AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h ...@@ -537,24 +537,6 @@ AC_CHECK_HEADERS([linux/filter.h linux/if_addr.h linux/if_ether.h linux/if_tun.h
#endif #endif
]) ])
AC_CACHE_CHECK([whether <ustat.h> 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 <sys/types.h>
#ifdef HAVE_LINUX_FILTER_H
#include <linux/filter.h>
#endif
#include <ustat.h>
])], [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 <ustat.h> header file and it works.])
fi
AM_CONDITIONAL(HAVE_SYS_MMAN_H, test "$ac_cv_header_sys_mman_h" = yes) 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) AC_CHECK_FUNCS(strerror_r strsignal wait4 mincore setenv unsetenv dl_iterate_phdr)
......
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// GNU/Linux library ustat call.
// This is not supported on some kernels, such as arm64.
// +build !arm64,!nios2,!riscv64
package syscall
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
//ustat(dev _dev_t, ubuf *Ustat_t) _C_int
...@@ -1164,20 +1164,6 @@ grep '^type _sysinfo ' gen-sysinfo.go | \ ...@@ -1164,20 +1164,6 @@ grep '^type _sysinfo ' gen-sysinfo.go | \
-e 's/mem_unit/Unit/' \ -e 's/mem_unit/Unit/' \
>> ${OUT} >> ${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 <linux/filter.h>.
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. # The utimbuf struct.
grep '^type _utimbuf ' gen-sysinfo.go | \ grep '^type _utimbuf ' gen-sysinfo.go | \
sed -e 's/_utimbuf/Utimbuf/' \ sed -e 's/_utimbuf/Utimbuf/' \
......
...@@ -144,9 +144,6 @@ ...@@ -144,9 +144,6 @@
#if defined(HAVE_SYS_SYSINFO_H) #if defined(HAVE_SYS_SYSINFO_H)
#include <sys/sysinfo.h> #include <sys/sysinfo.h>
#endif #endif
#if defined(HAVE_USTAT_H)
#include <ustat.h>
#endif
#if defined(HAVE_UTIME_H) #if defined(HAVE_UTIME_H)
#include <utime.h> #include <utime.h>
#endif #endif
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment