diff options
Diffstat (limited to 'gdb/main.c')
-rw-r--r-- | gdb/main.c | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/gdb/main.c b/gdb/main.c index 61168faf50..8f04da107a 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -402,6 +402,19 @@ symbol_file_add_main_adapter (const char *arg, int from_tty) symbol_file_add_main (arg, add_flags); } +/* Perform validation of the '--readnow' and '--readnever' flags. */ + +static void +validate_readnow_readnever () +{ + if (readnever_symbol_files && readnow_symbol_files) + { + error (_("%s: '--readnow' and '--readnever' cannot be " + "specified simultaneously"), + gdb_program_name); + } +} + /* Type of this option. */ enum cmdarg_kind { @@ -579,14 +592,17 @@ captured_main_1 (struct captured_main_args *context) OPT_NOWINDOWS, OPT_WINDOWS, OPT_IX, - OPT_IEX + OPT_IEX, + OPT_READNOW, + OPT_READNEVER }; static struct option long_options[] = { {"tui", no_argument, 0, OPT_TUI}, {"dbx", no_argument, &dbx_commands, 1}, - {"readnow", no_argument, &readnow_symbol_files, 1}, - {"r", no_argument, &readnow_symbol_files, 1}, + {"readnow", no_argument, NULL, OPT_READNOW}, + {"readnever", no_argument, NULL, OPT_READNEVER}, + {"r", no_argument, NULL, OPT_READNOW}, {"quiet", no_argument, &quiet, 1}, {"q", no_argument, &quiet, 1}, {"silent", no_argument, &quiet, 1}, @@ -809,6 +825,20 @@ captured_main_1 (struct captured_main_args *context) } break; + case OPT_READNOW: + { + readnow_symbol_files = 1; + validate_readnow_readnever (); + } + break; + + case OPT_READNEVER: + { + readnever_symbol_files = 1; + validate_readnow_readnever (); + } + break; + case '?': error (_("Use `%s --help' for a complete list of options."), gdb_program_name); @@ -1183,6 +1213,7 @@ Selection of debuggee and its files:\n\n\ --se=FILE Use FILE as symbol file and executable file.\n\ --symbols=SYMFILE Read symbols from SYMFILE.\n\ --readnow Fully read symbol files on first access.\n\ + --readnever Do not read symbol files.\n\ --write Set writing into executable and core files.\n\n\ "), stream); fputs_unfiltered (_("\ |