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 | ccac2036ae7203e51b9e31beff7676b083b9e254 (patch) | |
tree | 6d7b59bb36d4ee4277404fe561af195938816752 /gdb/symfile.c | |
parent | 625851290a29f31f983232541644efaaad125921 (diff) | |
download | gdb-ccac2036ae7203e51b9e31beff7676b083b9e254.tar.gz |
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 b644af8df26..822c114fa3f 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++; } |