aboutsummaryrefslogtreecommitdiff
path: root/gdb/main.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1994-05-14 19:37:57 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1994-05-14 19:37:57 +0000
commitd8fc87731898508fa3fe2e138264a4f06836f1fc (patch)
tree56d5c1bbe02d4040169af4b93fe7753903a1dad0 /gdb/main.c
parentcb9461ffc227b309472293f100cd612e12506f93 (diff)
downloadgdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.zip
gdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.tar.gz
gdb-d8fc87731898508fa3fe2e138264a4f06836f1fc.tar.bz2
* source.c (find_source_lines): Always use code that was #ifdef
BROKEN_LARGE_ALLOCA. Do the cleanup before returning, rather than leaving it on the chain. Reindent much of this function. * config/sparc/{xm-sun4sol2.h,xm-sun4os4.h}, config/i386/{xm-sun386.h,xm-i386m3.h,xm-i386mach.h}, config/m68k/{sun3os4.h,xm-news.h,xm-hp300hpux.h}, config/ns32k/xm-ns32km3.h: Remove all references to BROKEN_LARGE_ALLOCA; with the above change it is no longer needed. * main.c, fork-child.c, many config files: Remove all SET_STACK_LIMIT_HUGE code; with the above changes it should no longer be needed. * symtab.c (lookup_partial_symbol): Use if and abort, not assert. This avoids __eprintf troubles. * main.c (main): Surround in #ifndef MAIN_OVERRIDE. Move initialization code which needs to be called even if we bypass the command line stuff into gdb_init. * utils.c (fputs_unfiltered): Surround in #ifndef FPUTS_UNFILTERED_OVERRIDE. * Makefile.in (libgdb.a): New target. * utils.c: Rearrange I/O stuff a bit so that all output goes through fputs_unfiltered. Use vasprintf; removes arbitrary limit which made %s not work with arbitrarily large strings. * printcmd.c (printf_command): Use printf_filtered, not printf_unfiltered and printf, now that arbitrary limit is gone.
Diffstat (limited to 'gdb/main.c')
-rw-r--r--gdb/main.c52
1 files changed, 20 insertions, 32 deletions
diff --git a/gdb/main.c b/gdb/main.c
index 2e819dc..05dddd0 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -56,13 +56,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <sys/stat.h>
#include <ctype.h>
-#ifdef SET_STACK_LIMIT_HUGE
-#include <sys/time.h>
-#include <sys/resource.h>
-
-int original_stack_limit;
-#endif
-
/* Prototypes for local functions */
static char *
@@ -525,6 +518,24 @@ read_command_file (stream)
do_cleanups (cleanups);
}
+void
+gdb_init ()
+{
+ /* Run the init function of each source file */
+
+ init_cmd_lists (); /* This needs to be done first */
+ initialize_all_files ();
+ init_main (); /* But that omits this file! Do it now */
+ init_signals ();
+
+ /* We need a default language for parsing expressions, so simple things like
+ "set width 0" won't fail if no language is explicitly set in a config file
+ or implicitly set by reading an executable during startup. */
+ set_language (language_c);
+ expected_language = current_language; /* don't warn about the change. */
+}
+
+#ifndef MAIN_OVERRIDE
int
main (argc, argv)
int argc;
@@ -603,19 +614,6 @@ main (argc, argv)
getcwd (dirbuf, sizeof (dirbuf));
current_directory = dirbuf;
-#ifdef SET_STACK_LIMIT_HUGE
- {
- struct rlimit rlim;
-
- /* Set the stack limit huge so that alloca (particularly stringtab
- * in dbxread.c) does not fail. */
- getrlimit (RLIMIT_STACK, &rlim);
- original_stack_limit = rlim.rlim_cur;
- rlim.rlim_cur = rlim.rlim_max;
- setrlimit (RLIMIT_STACK, &rlim);
- }
-#endif /* SET_STACK_LIMIT_HUGE */
-
/* Parse arguments and options. */
{
int c;
@@ -783,12 +781,7 @@ main (argc, argv)
quiet = 1;
}
- /* Run the init function of each source file */
-
- init_cmd_lists (); /* This needs to be done first */
- initialize_all_files ();
- init_main (); /* But that omits this file! Do it now */
- init_signals ();
+ gdb_init ();
/* Do these (and anything which might call wrap_here or *_filtered)
after initialize_all_files. */
@@ -869,12 +862,6 @@ GDB manual (available as on-line info or a printed manual).\n", gdb_stdout);
/* We may get more than one warning, don't double space all of them... */
warning_pre_print = "\nwarning: ";
- /* We need a default language for parsing expressions, so simple things like
- "set width 0" won't fail if no language is explicitly set in a config file
- or implicitly set by reading an executable during startup. */
- set_language (language_c);
- expected_language = current_language; /* don't warn about the change. */
-
/* Read and execute $HOME/.gdbinit file, if it exists. This is done
*before* all the command line arguments are processed; it sets
global parameters, which are independent of what file you are
@@ -1039,6 +1026,7 @@ GDB manual (available as on-line info or a printed manual).\n", gdb_stdout);
}
/* No exit -- exit is through quit_command. */
}
+#endif /* MAIN_OVERRIDE */
void
execute_user_command (c, args)