mksysinfo: use rlimit64 if available when we use getrlimit64
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jan 2018 05:09:43 +0000 (05:09 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jan 2018 05:09:43 +0000 (05:09 +0000)
    This makes no difference on most systems, because <sys/resource.h>
    renames the type appropriately anyhow, but apparently it makes a
    difference on AIX.

    Reviewed-on: https://go-review.googlesource.com/88076

From-SVN: r256877

gcc/go/gofrontend/MERGE
libgo/Makefile.am
libgo/Makefile.in
libgo/mksysinfo.sh

index 9cc81888c8c9b8e55b15f5ef75f137246a7465be..a66fe24dfe2876c122fb7899cd6bec4f4f98f8ab 100644 (file)
@@ -1,4 +1,4 @@
-bce8720d4eb662f31026e9c7be6ce4d0aeb4ae3b
+87525458bcd5ab4beb5b95e7d58e3dfdbc1bd478
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 16ccf9caa135968d12e86c30dd315fc567f4b2e7..88be5dbb00a7da1cf659b0267377dcf696c7693c 100644 (file)
@@ -674,7 +674,7 @@ s-errno:
 
 sysinfo.go: s-sysinfo; @true
 s-sysinfo: $(srcdir)/mksysinfo.sh gen-sysinfo.go errno.i
-       GOOS=$(GOOS) $(SHELL) $(srcdir)/mksysinfo.sh
+       GOARCH=$(GOARCH) GOOS=$(GOOS) $(SHELL) $(srcdir)/mksysinfo.sh
        $(SHELL) $(srcdir)/mvifdiff.sh tmp-sysinfo.go sysinfo.go
        $(STAMP) $@
 
index 7a02fa640296ad876c843793ccd85e96c87b08ab..471a047f831f2481340dcca1c93acf16589c2b39 100644 (file)
@@ -3241,7 +3241,7 @@ s-errno:
 
 sysinfo.go: s-sysinfo; @true
 s-sysinfo: $(srcdir)/mksysinfo.sh gen-sysinfo.go errno.i
-       GOOS=$(GOOS) $(SHELL) $(srcdir)/mksysinfo.sh
+       GOARCH=$(GOARCH) GOOS=$(GOOS) $(SHELL) $(srcdir)/mksysinfo.sh
        $(SHELL) $(srcdir)/mvifdiff.sh tmp-sysinfo.go sysinfo.go
        $(STAMP) $@
 
index a384e401154eb5aacfde8c0457faf6647d8ddb71..6f7cba72494ad426a90cb499227a7285e2a98461 100755 (executable)
@@ -1120,8 +1120,16 @@ if test "$timex" != ""; then
 fi
 
 # The rlimit struct.
-grep '^type _rlimit ' gen-sysinfo.go | \
-    sed -e 's/_rlimit/Rlimit/' \
+# On systems that use syscall/libcall_posix_largefile.go, use rlimit64
+# if it exists.
+rlimit="_rlimit"
+if test "${GOOS}" = "aix" || test "${GOOS}" = "linux" || (test "${GOOS}" = "solaris" && (test "${GOARCH}" = "386" || test "${GOARCH}" = "sparc")); then
+  if grep '^type _rlimit64 ' gen-sysinfo.go > /dev/null 2>&1; then
+    rlimit="_rlimit64"
+  fi
+fi
+grep "^type ${rlimit} " gen-sysinfo.go | \
+    sed -e "s/${rlimit}/Rlimit/" \
       -e 's/rlim_cur/Cur/' \
       -e 's/rlim_max/Max/' \
     >> ${OUT}
@@ -1130,7 +1138,13 @@ grep '^type _rlimit ' gen-sysinfo.go | \
 grep '^const _RLIMIT_' gen-sysinfo.go |
     sed -e 's/^\(const \)_\(RLIMIT_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
 grep '^const _RLIM_' gen-sysinfo.go |
+    grep -v '^const _RLIM_INFINITY ' |
     sed -e 's/^\(const \)_\(RLIM_[^= ]*\)\(.*\)$/\1\2 = _\2/' >> ${OUT}
+if test "${rlimit}" = "_rlimit64" && grep '^const _RLIM64_INFINITY ' gen-sysinfo.go > /dev/null 2>&1; then
+  echo 'const RLIM_INFINITY = _RLIM64_INFINITY' >> ${OUT}
+elif grep '^const _RLIM_INFINITY ' gen-sysinfo-go; then
+  echo 'const RLIM_INFINITY = _RLIM_INFINITY' >> ${OUT}
+fi
 
 # The sysinfo struct.
 grep '^type _sysinfo ' gen-sysinfo.go | \