sysinfo: add Flags to Statfs_t if not already there

If there is no f_flags field in statfs_t then rename one of the
    f_spare fields, as happened in Linux kernel version 2.6.36.  This
    fixes the build on CentOS 5.11.  The CentOS kernel will hopefully not
    fill in the f_spare field, so the resulting flags will be zero.
    
    Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/165417

From-SVN: r269401
This commit is contained in:
Ian Lance Taylor 2019-03-05 20:49:21 +00:00
parent 77fa4c4275
commit 9bf54c938a
2 changed files with 5 additions and 1 deletions

View File

@ -1,4 +1,4 @@
689d5bda159300dc12f559de2d47b8c1c762fcb9
3ae3024cae07fe7e85968ad2583add350616b296
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View File

@ -1113,7 +1113,11 @@ grep '^const _FALLOC_' gen-sysinfo.go |
# The statfs struct.
# Prefer largefile variant if available.
# CentOS 5 does not have f_flags, so pull from f_spare.
statfs=`grep '^type _statfs64 ' gen-sysinfo.go || true`
if ! echo "$statfs" | grep f_flags; then
statfs=`echo "$statfs" | sed -e 's/f_spare \[4+1\]\([^ ;]*\)/f_flags \1; f_spare [3+1]\1/'`
fi
if test "$statfs" != ""; then
grep '^type _statfs64 ' gen-sysinfo.go
else