diff options
Diffstat (limited to 'system/gcc/332-gccgo-remove-ustat.patch')
-rw-r--r-- | system/gcc/332-gccgo-remove-ustat.patch | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/system/gcc/332-gccgo-remove-ustat.patch b/system/gcc/332-gccgo-remove-ustat.patch new file mode 100644 index 000000000..95b3cb1d2 --- /dev/null +++ b/system/gcc/332-gccgo-remove-ustat.patch @@ -0,0 +1,153 @@ +From bdead75ea02fa852a559f35b41453df0c47c9a66 Mon Sep 17 00:00:00 2001 +From: Ian Lance Taylor <iant@golang.org> +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 <thanm@google.com> +--- + 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 <ustat.h> 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 <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 + 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 <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) + + AC_CHECK_FUNCS(strerror_r strsignal wait4 mincore setenv unsetenv dl_iterate_phdr) +diff --git a/libgo/go/syscall/libcall_linux_ustat.go b/libgo/go/syscall/libcall_linux_ustat.go +deleted file mode 100644 +index f515fce3..00000000 +--- a/libgo/go/syscall/libcall_linux_ustat.go ++++ /dev/null +@@ -1,12 +0,0 @@ +-// 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 +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 <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. + grep '^type _utimbuf ' gen-sysinfo.go | \ + sed -e 's/_utimbuf/Utimbuf/' \ |