diff options
author | Fernando Nasser <fnasser@redhat.com> | 2001-05-10 15:33:21 +0000 |
---|---|---|
committer | Fernando Nasser <fnasser@redhat.com> | 2001-05-10 15:33:21 +0000 |
commit | d7db6da9f6e63a912cedfe61d720eb3797d42619 (patch) | |
tree | 76644237f33c5bc58c22ad4db914b3b297bdeaaf /gdb/symfile.c | |
parent | 606ab118baddd89493a504f6622c944562cc6bc5 (diff) | |
download | gdb-d7db6da9f6e63a912cedfe61d720eb3797d42619.zip gdb-d7db6da9f6e63a912cedfe61d720eb3797d42619.tar.gz gdb-d7db6da9f6e63a912cedfe61d720eb3797d42619.tar.bz2 |
2001-05-10 Fernando Nasser <fnasser@redhat.com>
* symfile.c (symbol_file_add_main_1): New static function.
Passes the flags arguments to symbol_file_add() and takes care
of any necessary reinitializations.
(symbol_file_command): Call symbol_file_add_main_1() instead of
symbol_file_add().
(symbol_file_add_main): Ditto.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r-- | gdb/symfile.c | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c index b644af8..822c114 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -109,6 +109,8 @@ static void set_initial_language (void); static void load_command (char *, int); +static void symbol_file_add_main_1 (char *args, int from_tty, int flags); + static void add_symbol_file_command (char *, int); static void add_shared_symbol_files_command (char *, int); @@ -896,13 +898,34 @@ symbol_file_add (char *name, int from_tty, struct section_addr_info *addrs, return (objfile); } -/* Just call the above with default values. - Used when the file is supplied in the gdb command line. */ +/* Call symbol_file_add() with default values and update whatever is + affected by the loading of a new main(). + Used when the file is supplied in the gdb command line + and by some targets with special loading requirements. + The auxiliary function, symbol_file_add_main_1(), has the flags + argument for the switches that can only be specified in the symbol_file + command itself. */ void symbol_file_add_main (char *args, int from_tty) { - symbol_file_add (args, from_tty, NULL, 1, 0); + symbol_file_add_main_1 (args, from_tty, 0); +} + +static void +symbol_file_add_main_1 (char *args, int from_tty, int flags) +{ + symbol_file_add (args, from_tty, NULL, 1, flags); + +#ifdef HPUXHPPA + RESET_HP_UX_GLOBALS (); +#endif + + /* Getting new symbols may change our opinion about + what is frameless. */ + reinit_frame_cache (); + + set_initial_language (); } void @@ -979,15 +1002,8 @@ symbol_file_command (char *args, int from_tty) else { name = *argv; - symbol_file_add (name, from_tty, NULL, 1, flags); -#ifdef HPUXHPPA - RESET_HP_UX_GLOBALS (); -#endif - /* Getting new symbols may change our opinion about - what is frameless. */ - reinit_frame_cache (); - set_initial_language (); + symbol_file_add_main_1 (name, from_tty, flags); } argv++; } |