diff options
author | Paul Smith <psmith@gnu.org> | 2005-02-16 05:03:42 +0000 |
---|---|---|
committer | Paul Smith <psmith@gnu.org> | 2005-02-16 05:03:42 +0000 |
commit | e8ca9b8eb1caaa43703f6ce505af78c6e7b9e60b (patch) | |
tree | 06c563611aef3116a6f2de2844082f4609982039 | |
parent | c90f47e8320b41e3a5bfeb654543d9474f763e5d (diff) | |
download | gunmake-e8ca9b8eb1caaa43703f6ce505af78c6e7b9e60b.tar.gz |
Add a patch from Paul Eggert that's been lying around in my directory for
a long time, disabling stack size limits where possible.
Update version to beta2.
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | configure.in | 6 | ||||
-rw-r--r-- | doc/make.texi | 6 | ||||
-rw-r--r-- | main.c | 22 |
4 files changed, 38 insertions, 5 deletions
@@ -1334,6 +1334,15 @@ * i18n/ja.po: Installed an updated translation. +2001-09-06 Paul Eggert <eggert@twinsun.com> + + * configure.in (AC_CHECK_HEADERS): Add sys/resource.h. + (AC_CHECK_FUNCS): Add getrlimit, setrlimit. + + * main.c: Include <sys/resource.h> if it, getrlimit, and setrlimit + are available. + (main): Get rid of any avoidable limit on stack size. + 2001-09-04 Paul D. Smith <psmith@gnu.org> * i18n/da.po: Installed an updated translation. diff --git a/configure.in b/configure.in index 4bad3e2..a8c35ec 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ # Process this file with autoconf to produce a configure script. -AC_INIT([GNU make],[3.81beta1],[bug-make@gnu.org]) +AC_INIT([GNU make],[3.81beta2],[bug-make@gnu.org]) AC_PREREQ(2.59) AC_REVISION([[$Id$]]) @@ -50,7 +50,7 @@ AC_HEADER_DIRENT AC_HEADER_STAT AC_HEADER_TIME AC_CHECK_HEADERS(stdlib.h locale.h unistd.h limits.h fcntl.h string.h \ - memory.h sys/param.h sys/time.h sys/timeb.h) + memory.h sys/param.h sys/resource.h sys/time.h sys/timeb.h) # Set a flag if we have an ANSI C compiler if test "$ac_cv_prog_cc_stdc" != no; then @@ -136,7 +136,7 @@ fi AC_CHECK_FUNCS( memcpy memmove strchr strdup mkstemp mktemp fdopen \ bsd_signal dup2 getcwd realpath sigsetmask sigaction \ getgroups seteuid setegid setlinebuf setreuid setregid \ - setvbuf pipe strerror strsignal) + getrlimit setrlimit setvbuf pipe strerror strsignal) AC_FUNC_SETVBUF_REVERSED diff --git a/doc/make.texi b/doc/make.texi index 8c367ba..9b6f9d8 100644 --- a/doc/make.texi +++ b/doc/make.texi @@ -2423,8 +2423,10 @@ prog3 : prog3.o sort.o utils.o @end example @noindent -Now you can say just @samp{make} to remake all three programs, or specify -as arguments the ones to remake (as in @samp{make prog1 prog3}). +Now you can say just @samp{make} to remake all three programs, or +specify as arguments the ones to remake (as in @samp{make prog1 +prog3}). Phoniness is not inherited: the prerequisites of a phony +target are not themselves phony, unless explicitly declared to be so. When one phony target is a prerequisite of another, it serves as a subroutine of the other. For example, here @samp{make cleanall} will delete the @@ -46,6 +46,14 @@ MA 02111-1307, USA. */ # include <fcntl.h> #endif +#if defined(HAVE_SYS_RESOURCE_H) && defined(HAVE_GETRLIMIT) && defined(HAVE_SETRLIMIT) +# define SET_STACK_SIZE +#endif + +#ifdef SET_STACK_SIZE +# include <sys/resource.h> +#endif + #ifdef _AMIGA int __stack = 20000; /* Make sure we have 20K of stack space */ #endif @@ -881,6 +889,20 @@ main (int argc, char **argv, char **envp) no_default_sh_exe = 1; #endif +#ifdef SET_STACK_SIZE + /* Get rid of any avoidable limit on stack size. */ + { + struct rlimit rlim; + + /* Set the stack limit huge so that alloca does not fail. */ + if (getrlimit (RLIMIT_STACK, &rlim) == 0) + { + rlim.rlim_cur = rlim.rlim_max; + setrlimit (RLIMIT_STACK, &rlim); + } + } +#endif + /* Needed for OS/2 */ initialize_main(&argc, &argv); |