diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-14 19:37:57 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-05-14 19:37:57 +0000 |
commit | d8fc87731898508fa3fe2e138264a4f06836f1fc (patch) | |
tree | 56d5c1bbe02d4040169af4b93fe7753903a1dad0 /gdb/main.c | |
parent | cb9461ffc227b309472293f100cd612e12506f93 (diff) | |
download | gdb-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.c | 52 |
1 files changed, 20 insertions, 32 deletions
@@ -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) |