2001-07-15 Elena Zannoni <ezannoni@redhat.com>
* top.c (quit_cover, float_handler): Move definition up before use. (gdb_init): Move to end of file, to avoid calls to not yet defined functions. Delete prototypes.
This commit is contained in:
parent
2cd58942b9
commit
64cdedadad
|
@ -1,3 +1,10 @@
|
||||||
|
2001-07-15 Elena Zannoni <ezannoni@redhat.com>
|
||||||
|
|
||||||
|
* top.c (quit_cover, float_handler): Move definition up before use.
|
||||||
|
(gdb_init): Move to end of file, to avoid calls to not yet defined
|
||||||
|
functions.
|
||||||
|
Delete prototypes.
|
||||||
|
|
||||||
2001-07-14 Andrew Cagney <ac131313@redhat.com>
|
2001-07-14 Andrew Cagney <ac131313@redhat.com>
|
||||||
|
|
||||||
* serial.h (SERIAL_ASYNC): Delete.
|
* serial.h (SERIAL_ASYNC): Delete.
|
||||||
|
|
199
gdb/top.c
199
gdb/top.c
|
@ -73,47 +73,6 @@ extern void execute_user_command (struct cmd_list_element *c, char *args);
|
||||||
|
|
||||||
extern void do_setshow_command (char *, int, struct cmd_list_element *);
|
extern void do_setshow_command (char *, int, struct cmd_list_element *);
|
||||||
|
|
||||||
/* Exported to CLI cli/cli-cmds.c. */
|
|
||||||
|
|
||||||
void set_verbose (char *, int, struct cmd_list_element *);
|
|
||||||
|
|
||||||
void show_history (char *, int);
|
|
||||||
|
|
||||||
void set_history (char *, int);
|
|
||||||
|
|
||||||
void show_commands (char *, int);
|
|
||||||
|
|
||||||
void do_restore_instream_cleanup (void *stream);
|
|
||||||
|
|
||||||
/* Prototypes for local functions */
|
|
||||||
|
|
||||||
static void dont_repeat_command (char *, int);
|
|
||||||
|
|
||||||
static void init_signals (void);
|
|
||||||
|
|
||||||
#ifdef STOP_SIGNAL
|
|
||||||
static void stop_sig (int);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static void init_main (void);
|
|
||||||
|
|
||||||
static void float_handler (int);
|
|
||||||
|
|
||||||
static void init_signals (void);
|
|
||||||
|
|
||||||
static void set_history_size_command (char *, int, struct cmd_list_element *);
|
|
||||||
|
|
||||||
static void do_nothing (int);
|
|
||||||
|
|
||||||
#ifdef SIGHUP
|
|
||||||
/* NOTE 1999-04-29: This function will be static again, once we modify
|
|
||||||
gdb to use the event loop as the default command loop and we merge
|
|
||||||
event-top.c into this file, top.c */
|
|
||||||
/* static */ int quit_cover (PTR);
|
|
||||||
|
|
||||||
static void disconnect (int);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Default command line prompt. This is overriden in some configs. */
|
/* Default command line prompt. This is overriden in some configs. */
|
||||||
|
|
||||||
#ifndef DEFAULT_PROMPT
|
#ifndef DEFAULT_PROMPT
|
||||||
|
@ -560,15 +519,6 @@ catch_command_errors (catch_command_errors_ftype * command,
|
||||||
/* Handler for SIGHUP. */
|
/* Handler for SIGHUP. */
|
||||||
|
|
||||||
#ifdef SIGHUP
|
#ifdef SIGHUP
|
||||||
static void
|
|
||||||
disconnect (int signo)
|
|
||||||
{
|
|
||||||
catch_errors (quit_cover, NULL,
|
|
||||||
"Could not kill the program being debugged", RETURN_MASK_ALL);
|
|
||||||
signal (SIGHUP, SIG_DFL);
|
|
||||||
kill (getpid (), SIGHUP);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Just a little helper function for disconnect(). */
|
/* Just a little helper function for disconnect(). */
|
||||||
|
|
||||||
/* NOTE 1999-04-29: This function will be static again, once we modify
|
/* NOTE 1999-04-29: This function will be static again, once we modify
|
||||||
|
@ -582,6 +532,15 @@ quit_cover (PTR s)
|
||||||
quit_command ((char *) 0, 0);
|
quit_command ((char *) 0, 0);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
disconnect (int signo)
|
||||||
|
{
|
||||||
|
catch_errors (quit_cover, NULL,
|
||||||
|
"Could not kill the program being debugged", RETURN_MASK_ALL);
|
||||||
|
signal (SIGHUP, SIG_DFL);
|
||||||
|
kill (getpid (), SIGHUP);
|
||||||
|
}
|
||||||
#endif /* defined SIGHUP */
|
#endif /* defined SIGHUP */
|
||||||
|
|
||||||
/* Line number we are currently in in a file which is being sourced. */
|
/* Line number we are currently in in a file which is being sourced. */
|
||||||
|
@ -646,67 +605,6 @@ do_chdir_cleanup (void *old_dir)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void
|
|
||||||
gdb_init (char *argv0)
|
|
||||||
{
|
|
||||||
if (pre_init_ui_hook)
|
|
||||||
pre_init_ui_hook ();
|
|
||||||
|
|
||||||
/* Run the init function of each source file */
|
|
||||||
|
|
||||||
getcwd (gdb_dirbuf, sizeof (gdb_dirbuf));
|
|
||||||
current_directory = gdb_dirbuf;
|
|
||||||
|
|
||||||
#ifdef __MSDOS__
|
|
||||||
/* Make sure we return to the original directory upon exit, come
|
|
||||||
what may, since the OS doesn't do that for us. */
|
|
||||||
make_final_cleanup (do_chdir_cleanup, xstrdup (current_directory));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
init_cmd_lists (); /* This needs to be done first */
|
|
||||||
initialize_targets (); /* Setup target_terminal macros for utils.c */
|
|
||||||
initialize_utils (); /* Make errors and warnings possible */
|
|
||||||
initialize_all_files ();
|
|
||||||
initialize_current_architecture ();
|
|
||||||
init_cli_cmds();
|
|
||||||
init_main (); /* But that omits this file! Do it now */
|
|
||||||
|
|
||||||
/* The signal handling mechanism is different depending whether or
|
|
||||||
not the async version is run. NOTE: in the future we plan to make
|
|
||||||
the event loop be the default engine of gdb, and this difference
|
|
||||||
will disappear. */
|
|
||||||
if (event_loop_p)
|
|
||||||
async_init_signals ();
|
|
||||||
else
|
|
||||||
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. */
|
|
||||||
|
|
||||||
#ifdef UI_OUT
|
|
||||||
/* Install the default UI */
|
|
||||||
if (!init_ui_hook)
|
|
||||||
{
|
|
||||||
uiout = cli_out_new (gdb_stdout);
|
|
||||||
|
|
||||||
/* All the interpreters should have had a look at things by now.
|
|
||||||
Initialize the selected interpreter. */
|
|
||||||
if (interpreter_p)
|
|
||||||
{
|
|
||||||
fprintf_unfiltered (gdb_stderr, "Interpreter `%s' unrecognized.\n",
|
|
||||||
interpreter_p);
|
|
||||||
exit (1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (init_ui_hook)
|
|
||||||
init_ui_hook (argv0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Execute the line P as a command.
|
/* Execute the line P as a command.
|
||||||
Pass FROM_TTY as second argument to the defining function. */
|
Pass FROM_TTY as second argument to the defining function. */
|
||||||
|
|
||||||
|
@ -1055,6 +953,15 @@ stop_sig (int signo)
|
||||||
#endif /* STOP_SIGNAL */
|
#endif /* STOP_SIGNAL */
|
||||||
|
|
||||||
/* Initialize signal handlers. */
|
/* Initialize signal handlers. */
|
||||||
|
static void
|
||||||
|
float_handler (int signo)
|
||||||
|
{
|
||||||
|
/* This message is based on ANSI C, section 4.7. Note that integer
|
||||||
|
divide by zero causes this, so "float" is a misnomer. */
|
||||||
|
signal (SIGFPE, float_handler);
|
||||||
|
error ("Erroneous arithmetic operation.");
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_nothing (int signo)
|
do_nothing (int signo)
|
||||||
{
|
{
|
||||||
|
@ -1868,15 +1775,6 @@ set_verbose (char *args, int from_tty, struct cmd_list_element *c)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
float_handler (int signo)
|
|
||||||
{
|
|
||||||
/* This message is based on ANSI C, section 4.7. Note that integer
|
|
||||||
divide by zero causes this, so "float" is a misnomer. */
|
|
||||||
signal (SIGFPE, float_handler);
|
|
||||||
error ("Erroneous arithmetic operation.");
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Init the history buffer. Note that we are called after the init file(s)
|
/* Init the history buffer. Note that we are called after the init file(s)
|
||||||
* have been read so that the user can change the history file via his
|
* have been read so that the user can change the history file via his
|
||||||
* .gdbinit file (for instance). The GDBHISTFILE environment variable
|
* .gdbinit file (for instance). The GDBHISTFILE environment variable
|
||||||
|
@ -2075,3 +1973,64 @@ Use \"on\" to enable the notification, and \"off\" to disable it.", &setlist),
|
||||||
&showlist);
|
&showlist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gdb_init (char *argv0)
|
||||||
|
{
|
||||||
|
if (pre_init_ui_hook)
|
||||||
|
pre_init_ui_hook ();
|
||||||
|
|
||||||
|
/* Run the init function of each source file */
|
||||||
|
|
||||||
|
getcwd (gdb_dirbuf, sizeof (gdb_dirbuf));
|
||||||
|
current_directory = gdb_dirbuf;
|
||||||
|
|
||||||
|
#ifdef __MSDOS__
|
||||||
|
/* Make sure we return to the original directory upon exit, come
|
||||||
|
what may, since the OS doesn't do that for us. */
|
||||||
|
make_final_cleanup (do_chdir_cleanup, xstrdup (current_directory));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
init_cmd_lists (); /* This needs to be done first */
|
||||||
|
initialize_targets (); /* Setup target_terminal macros for utils.c */
|
||||||
|
initialize_utils (); /* Make errors and warnings possible */
|
||||||
|
initialize_all_files ();
|
||||||
|
initialize_current_architecture ();
|
||||||
|
init_cli_cmds();
|
||||||
|
init_main (); /* But that omits this file! Do it now */
|
||||||
|
|
||||||
|
/* The signal handling mechanism is different depending whether or
|
||||||
|
not the async version is run. NOTE: in the future we plan to make
|
||||||
|
the event loop be the default engine of gdb, and this difference
|
||||||
|
will disappear. */
|
||||||
|
if (event_loop_p)
|
||||||
|
async_init_signals ();
|
||||||
|
else
|
||||||
|
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. */
|
||||||
|
|
||||||
|
#ifdef UI_OUT
|
||||||
|
/* Install the default UI */
|
||||||
|
if (!init_ui_hook)
|
||||||
|
{
|
||||||
|
uiout = cli_out_new (gdb_stdout);
|
||||||
|
|
||||||
|
/* All the interpreters should have had a look at things by now.
|
||||||
|
Initialize the selected interpreter. */
|
||||||
|
if (interpreter_p)
|
||||||
|
{
|
||||||
|
fprintf_unfiltered (gdb_stderr, "Interpreter `%s' unrecognized.\n",
|
||||||
|
interpreter_p);
|
||||||
|
exit (1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (init_ui_hook)
|
||||||
|
init_ui_hook (argv0);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue