+2011-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49756
+ * gcc.c (main): Call stack_limit_increase (64MB).
+ * toplev.c (toplev_main): Likewise.
+
2011-07-21 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (ix86_expand_call): Call copy_to_mode_reg
signal (SIGCHLD, SIG_DFL);
#endif
+ /* Parsing and gimplification sometimes need quite large stack.
+ Increase stack size limits if possible. */
+ stack_limit_increase (64 * 1024 * 1024);
+
/* Allocate the argument vector. */
alloc_args ();
int
toplev_main (int argc, char **argv)
{
+ /* Parsing and gimplification sometimes need quite large stack.
+ Increase stack size limits if possible. */
+ stack_limit_increase (64 * 1024 * 1024);
+
expandargv (&argc, &argv);
/* Initialization of GCC's environment, and diagnostics. */
+2011-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49756
+ * libiberty.h (stack_limit_increase): New prototype.
+
2011-07-13 Sriraman Tallam <tmsriram@google.com>
* plugin-api.h
/* Function declarations for libiberty.
Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
- 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+ 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
Note - certain prototypes declared in this header file are for
functions whoes implementation copyright does not belong to the
/* Set the title of a process */
extern void setproctitle (const char *name, ...);
+/* Increase stack limit if possible. */
+extern void stack_limit_increase (unsigned long);
+
#define ARRAY_SIZE(a) (sizeof (a) / sizeof ((a)[0]))
/* Drastically simplified alloca configurator. If we're using GCC,
+2011-07-22 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/49756
+ * stack-limit.c: New file.
+ * Makefile.in: Regenerate deps.
+ (CFILES): Add stack-limit.c.
+ (REQUIRED_OFILES): Add ./stack-limit.$(objext).
+ * configure.ac (checkfuncs): Add getrlimit and setrlimit.
+ (AC_CHECK_FUNCS): Likewise.
+ * configure: Regenerated.
+ * config.in: Regenerated.
+
2011-07-04 Jason Merrill <jason@redhat.com>
* cp-demangle.c (d_expression): Handle 'this'.
# Originally written by K. Richard Pixley <rich@cygnus.com>.
#
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
-# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation
#
# This file is part of the libiberty library.
simple-object.c simple-object-coff.c simple-object-elf.c \
simple-object-mach-o.c \
snprintf.c sort.c \
- spaces.c splay-tree.c stpcpy.c stpncpy.c strcasecmp.c \
- strchr.c strdup.c strerror.c strncasecmp.c strncmp.c \
- strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \
- strndup.c strverscmp.c \
+ spaces.c splay-tree.c stack-limit.c stpcpy.c stpncpy.c \
+ strcasecmp.c strchr.c strdup.c strerror.c strncasecmp.c \
+ strncmp.c strrchr.c strsignal.c strstr.c strtod.c strtol.c \
+ strtoul.c strndup.c strverscmp.c \
tmpnam.c \
unlink-if-ordinary.c \
vasprintf.c vfork.c vfprintf.c vprintf.c vsnprintf.c vsprintf.c \
./simple-object.$(objext) ./simple-object-coff.$(objext) \
./simple-object-elf.$(objext) ./simple-object-mach-o.$(objext) \
./sort.$(objext) ./spaces.$(objext) \
- ./splay-tree.$(objext) ./strerror.$(objext) \
+ ./splay-tree.$(objext) ./stack-limit.$(objext) \
+ ./strerror.$(objext) \
./strsignal.$(objext) ./unlink-if-ordinary.$(objext) \
./xatexit.$(objext) ./xexit.$(objext) ./xmalloc.$(objext) \
./xmemdup.$(objext) ./xstrdup.$(objext) ./xstrerror.$(objext) \
else true; fi
$(COMPILE.c) $(srcdir)/splay-tree.c $(OUTPUT_OPTION)
+./stack-limit.$(objext): $(srcdir)/stack-limit.c config.h
+ if [ x"$(PICFLAG)" != x ]; then \
+ $(COMPILE.c) $(PICFLAG) $(srcdir)/stack-limit.c -o pic/$@; \
+ else true; fi
+ $(COMPILE.c) $(srcdir)/stack-limit.c $(OUTPUT_OPTION)
+
./stpcpy.$(objext): $(srcdir)/stpcpy.c $(INCDIR)/ansidecl.h
if [ x"$(PICFLAG)" != x ]; then \
$(COMPILE.c) $(PICFLAG) $(srcdir)/stpcpy.c -o pic/$@; \
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
+/* Define to 1 if you have the `getrlimit' function. */
+#undef HAVE_GETRLIMIT
+
/* Define to 1 if you have the `getrusage' function. */
#undef HAVE_GETRUSAGE
/* Define to 1 if you have the `setproctitle' function. */
#undef HAVE_SETPROCTITLE
+/* Define to 1 if you have the `setrlimit' function. */
+#undef HAVE_SETRLIMIT
+
/* Define to 1 if you have the `sigsetmask' function. */
#undef HAVE_SIGSETMASK
vars="sys_errlist sys_nerr sys_siglist"
-checkfuncs="__fsetlocking canonicalize_file_name dup3 getrusage getsysinfo \
- gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic realpath \
- sbrk spawnve spawnvpe strerror strsignal sysconf sysctl sysmp table \
- times wait3 wait4"
+checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \
+ getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \
+ realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \
+ sysmp table times wait3 wait4"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
calloc canonicalize_file_name clock \
dup3 \
ffs __fsetlocking \
- getcwd getpagesize getrusage getsysinfo gettimeofday \
+ getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
index insque \
memchr memcmp memcpy memmem memmove memset mkstemps \
on_exit \
psignal pstat_getdynamic pstat_getstatic putenv \
random realpath rename rindex \
- sbrk setenv setproctitle sigsetmask snprintf spawnve spawnvpe \
+ sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
stpcpy stpncpy strcasecmp strchr strdup \
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
strtoul strverscmp sysconf sysctl sysmp \
vars="sys_errlist sys_nerr sys_siglist"
-checkfuncs="__fsetlocking canonicalize_file_name dup3 getrusage getsysinfo \
- gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic realpath \
- sbrk spawnve spawnvpe strerror strsignal sysconf sysctl sysmp table \
- times wait3 wait4"
+checkfuncs="__fsetlocking canonicalize_file_name dup3 getrlimit getrusage \
+ getsysinfo gettimeofday on_exit psignal pstat_getdynamic pstat_getstatic \
+ realpath setrlimit sbrk spawnve spawnvpe strerror strsignal sysconf sysctl \
+ sysmp table times wait3 wait4"
# These are neither executed nor required, but they help keep
# autoheader happy without adding a bunch of text to acconfig.h.
calloc canonicalize_file_name clock \
dup3 \
ffs __fsetlocking \
- getcwd getpagesize getrusage getsysinfo gettimeofday \
+ getcwd getpagesize getrlimit getrusage getsysinfo gettimeofday \
index insque \
memchr memcmp memcpy memmem memmove memset mkstemps \
on_exit \
psignal pstat_getdynamic pstat_getstatic putenv \
random realpath rename rindex \
- sbrk setenv setproctitle sigsetmask snprintf spawnve spawnvpe \
+ sbrk setenv setproctitle setrlimit sigsetmask snprintf spawnve spawnvpe \
stpcpy stpncpy strcasecmp strchr strdup \
strerror strncasecmp strndup strrchr strsignal strstr strtod strtol \
strtoul strverscmp sysconf sysctl sysmp \