GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
maint.c File Reference
#include "defs.h"
#include "arch-utils.h"
#include <ctype.h>
#include <cmath>
#include <signal.h>
#include "command.h"
#include "gdbcmd.h"
#include "symtab.h"
#include "block.h"
#include "gdbtypes.h"
#include "demangle.h"
#include "gdbcore.h"
#include "expression.h"
#include "language.h"
#include "symfile.h"
#include "objfiles.h"
#include "value.h"
#include "top.h"
#include "maint.h"
#include "gdbsupport/selftest.h"
#include "inferior.h"
#include "gdbsupport/thread-pool.h"
#include "cli/cli-decode.h"
#include "cli/cli-utils.h"
#include "cli/cli-setshow.h"
#include "cli/cli-cmds.h"

Go to the source code of this file.

Classes

struct  single_bfd_flag_info
 
struct  maint_info_sections_opts
 
struct  maintenance_selftest_options
 

Functions

static void maintenance_do_deprecate (const char *, int)
 
static void maintenance_dump_me (const char *args, int from_tty)
 
static void maintenance_internal_error (const char *args, int from_tty)
 
static void maintenance_internal_warning (const char *args, int from_tty)
 
static void maintenance_demangler_warning (const char *args, int from_tty)
 
static void maintenance_demangle (const char *args, int from_tty)
 
static void maintenance_time_display (const char *args, int from_tty)
 
static void maintenance_space_display (const char *args, int from_tty)
 
static bool match_substring (const char *string, const char *substr)
 
static bool match_bfd_flags (const char *string, flagword flags)
 
static void print_bfd_flags (flagword flags)
 
static void maint_print_section_info (const char *name, flagword flags, CORE_ADDR addr, CORE_ADDR endaddr, unsigned long filepos, int addr_size)
 
static int index_digits (int count)
 
static void print_section_index (bfd *abfd, asection *asect, int index_digits)
 
static void print_bfd_section_info (bfd *abfd, asection *asect, const char *arg, int index_digits)
 
static void print_objfile_section_info (bfd *abfd, struct obj_section *asect, const char *arg, int index_digits)
 
obj_sectionmaint_obj_section_from_bfd_section (bfd *abfd, asection *asection, objfile *ofile)
 
static void maint_print_all_sections (const char *header, bfd *abfd, objfile *objfile, const char *arg)
 
static gdb::option::option_def_group make_maint_info_sections_options_def_group (maint_info_sections_opts *cc_opts)
 
static void maint_info_sections_completer (struct cmd_list_element *cmd, completion_tracker &tracker, const char *text, const char *)
 
static void maintenance_info_sections (const char *arg, int from_tty)
 
static void maintenance_info_target_sections (const char *arg, int from_tty)
 
static void maintenance_print_statistics (const char *args, int from_tty)
 
static void maintenance_print_architecture (const char *args, int from_tty)
 
static void maintenance_translate_address (const char *arg, int from_tty)
 
static void maintenance_deprecate (const char *args, int from_tty)
 
static void maintenance_undeprecate (const char *args, int from_tty)
 
static void maintenance_with_cmd (const char *args, int from_tty)
 
static void maintenance_with_cmd_completer (struct cmd_list_element *ignore, completion_tracker &tracker, const char *text, const char *)
 
static void show_maintenance_profile_p (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void maintenance_set_profile_cmd (const char *args, int from_tty, struct cmd_list_element *c)
 
static void update_thread_pool_size ()
 
static void maintenance_set_worker_threads (const char *args, int from_tty, struct cmd_list_element *c)
 
static void maintenance_show_worker_threads (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
void set_per_command_time (int new_value)
 
void set_per_command_space (int new_value)
 
static void count_symtabs_and_blocks (int *nr_symtabs_ptr, int *nr_compunit_symtabs_ptr, int *nr_blocks_ptr)
 
static void set_per_command_cmd (const char *args, int from_tty)
 
static std::array< gdb::option::option_def_group, 1 > make_maintenance_selftest_option_group (maintenance_selftest_options *opts)
 
static void maintenance_selftest (const char *args, int from_tty)
 
static void maintenance_selftest_completer (cmd_list_element *cmd, completion_tracker &tracker, const char *text, const char *word)
 
static void maintenance_info_selftests (const char *arg, int from_tty)
 
void _initialize_maint_cmds ()
 

Variables

static const single_bfd_flag_info bfd_flag_info []
 
static const gdb::option::option_def maint_info_sections_option_defs []
 
struct cmd_list_elementmaintenance_set_cmdlist
 
struct cmd_list_elementmaintenance_show_cmdlist
 
static bool maintenance_profile_p
 
static int n_worker_threads = -1
 
static bool per_command_time
 
static bool per_command_space
 
static bool per_command_symtab
 
static struct cmd_list_elementper_command_setlist
 
static struct cmd_list_elementper_command_showlist
 
struct maintenance_selftest_options user_maintenance_selftest_options
 
static const gdb::option::option_def maintenance_selftest_option_defs []
 

Function Documentation

◆ _initialize_maint_cmds()

void _initialize_maint_cmds ( )

Definition at line 1210 of file maint.c.

Referenced by initialize_all_files().

◆ count_symtabs_and_blocks()

static void count_symtabs_and_blocks ( int * nr_symtabs_ptr,
int * nr_compunit_symtabs_ptr,
int * nr_blocks_ptr )
static

◆ index_digits()

static int index_digits ( int count)
static

◆ maint_info_sections_completer()

static void maint_info_sections_completer ( struct cmd_list_element * cmd,
completion_tracker & tracker,
const char * text,
const char *  )
static

◆ maint_obj_section_from_bfd_section()

obj_section * maint_obj_section_from_bfd_section ( bfd * abfd,
asection * asection,
objfile * ofile )

◆ maint_print_all_sections()

static void maint_print_all_sections ( const char * header,
bfd * abfd,
objfile * objfile,
const char * arg )
static

◆ maint_print_section_info()

static void maint_print_section_info ( const char * name,
flagword flags,
CORE_ADDR addr,
CORE_ADDR endaddr,
unsigned long filepos,
int addr_size )
static

Definition at line 225 of file maint.c.

References flags, gdb_printf(), name, and print_bfd_flags().

Referenced by print_bfd_section_info(), and print_objfile_section_info().

◆ maintenance_demangle()

static void maintenance_demangle ( const char * args,
int from_tty )
static

Definition at line 107 of file maint.c.

References gdb_printf().

◆ maintenance_demangler_warning()

static void maintenance_demangler_warning ( const char * args,
int from_tty )
static

Definition at line 97 of file maint.c.

References demangler_warning().

◆ maintenance_deprecate()

static void maintenance_deprecate ( const char * args,
int from_tty )
static

Definition at line 630 of file maint.c.

References gdb_printf(), and maintenance_do_deprecate().

◆ maintenance_do_deprecate()

static void maintenance_do_deprecate ( const char * text,
int deprecate )
static

◆ maintenance_dump_me()

static void maintenance_dump_me ( const char * args,
int from_tty )
static

Definition at line 55 of file maint.c.

References query().

◆ maintenance_info_sections()

static void maintenance_info_sections ( const char * arg,
int from_tty )
static

◆ maintenance_info_selftests()

static void maintenance_info_selftests ( const char * arg,
int from_tty )
static

Definition at line 1195 of file maint.c.

References gdb_printf().

◆ maintenance_info_target_sections()

static void maintenance_info_target_sections ( const char * arg,
int from_tty )
static

◆ maintenance_internal_error()

static void maintenance_internal_error ( const char * args,
int from_tty )
static

Definition at line 77 of file maint.c.

◆ maintenance_internal_warning()

static void maintenance_internal_warning ( const char * args,
int from_tty )
static

Definition at line 88 of file maint.c.

◆ maintenance_print_architecture()

static void maintenance_print_architecture ( const char * args,
int from_tty )
static

Definition at line 523 of file maint.c.

References gdb_stdout, gdbarch_dump(), and get_current_arch().

◆ maintenance_print_statistics()

static void maintenance_print_statistics ( const char * args,
int from_tty )
static

Definition at line 517 of file maint.c.

References print_objfile_statistics().

◆ maintenance_selftest()

static void maintenance_selftest ( const char * args,
int from_tty )
static

◆ maintenance_selftest_completer()

static void maintenance_selftest_completer ( cmd_list_element * cmd,
completion_tracker & tracker,
const char * text,
const char * word )
static

◆ maintenance_set_profile_cmd()

static void maintenance_set_profile_cmd ( const char * args,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 838 of file maint.c.

◆ maintenance_set_worker_threads()

static void maintenance_set_worker_threads ( const char * args,
int from_tty,
struct cmd_list_element * c )
static

Definition at line 862 of file maint.c.

References update_thread_pool_size().

◆ maintenance_show_worker_threads()

static void maintenance_show_worker_threads ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 869 of file maint.c.

References gdb_printf(), n_worker_threads, and thread_count().

◆ maintenance_space_display()

static void maintenance_space_display ( const char * args,
int from_tty )
static

Definition at line 122 of file maint.c.

References gdb_printf(), and set_per_command_space().

◆ maintenance_time_display()

static void maintenance_time_display ( const char * args,
int from_tty )
static

Definition at line 113 of file maint.c.

References gdb_printf(), and set_per_command_time().

◆ maintenance_translate_address()

static void maintenance_translate_address ( const char * arg,
int from_tty )
static

◆ maintenance_undeprecate()

static void maintenance_undeprecate ( const char * args,
int from_tty )
static

Definition at line 644 of file maint.c.

References gdb_printf(), and maintenance_do_deprecate().

◆ maintenance_with_cmd()

static void maintenance_with_cmd ( const char * args,
int from_tty )
static

Definition at line 757 of file maint.c.

References maintenance_set_cmdlist, and with_command_1().

◆ maintenance_with_cmd_completer()

static void maintenance_with_cmd_completer ( struct cmd_list_element * ignore,
completion_tracker & tracker,
const char * text,
const char *  )
static

Definition at line 765 of file maint.c.

References with_command_completer_1().

◆ make_maint_info_sections_options_def_group()

static gdb::option::option_def_group make_maint_info_sections_options_def_group ( maint_info_sections_opts * cc_opts)
inlinestatic

Definition at line 413 of file maint.c.

References maint_info_sections_option_defs.

Referenced by maint_info_sections_completer(), and maintenance_info_sections().

◆ make_maintenance_selftest_option_group()

static std::array< gdb::option::option_def_group, 1 > make_maintenance_selftest_option_group ( maintenance_selftest_options * opts)
static

Definition at line 1146 of file maint.c.

References maintenance_selftest_option_defs.

Referenced by maintenance_selftest(), and maintenance_selftest_completer().

◆ match_bfd_flags()

static bool match_bfd_flags ( const char * string,
flagword flags )
static

Definition at line 197 of file maint.c.

References bfd_flag_info, f(), flags, and match_substring().

Referenced by print_bfd_section_info(), and print_objfile_section_info().

◆ match_substring()

static bool match_substring ( const char * string,
const char * substr )
static

Definition at line 133 of file maint.c.

Referenced by match_bfd_flags(), print_bfd_section_info(), and print_objfile_section_info().

◆ print_bfd_flags()

static void print_bfd_flags ( flagword flags)
static

Definition at line 215 of file maint.c.

References bfd_flag_info, f(), flags, and gdb_printf().

Referenced by maint_print_section_info().

◆ print_bfd_section_info()

static void print_bfd_section_info ( bfd * abfd,
asection * asect,
const char * arg,
int index_digits )
static

◆ print_objfile_section_info()

static void print_objfile_section_info ( bfd * abfd,
struct obj_section * asect,
const char * arg,
int index_digits )
static

◆ print_section_index()

static void print_section_index ( bfd * abfd,
asection * asect,
int index_digits )
static

Definition at line 254 of file maint.c.

References gdb_bfd_section_index(), gdb_printf(), and index_digits().

Referenced by print_bfd_section_info(), and print_objfile_section_info().

◆ set_per_command_cmd()

static void set_per_command_cmd ( const char * args,
int from_tty )
static

◆ set_per_command_space()

void set_per_command_space ( int new_value)

Definition at line 923 of file maint.c.

References per_command_space.

Referenced by captured_main_1(), and maintenance_space_display().

◆ set_per_command_time()

void set_per_command_time ( int new_value)

Definition at line 914 of file maint.c.

References per_command_time.

Referenced by captured_main_1(), and maintenance_time_display().

◆ show_maintenance_profile_p()

static void show_maintenance_profile_p ( struct ui_file * file,
int from_tty,
struct cmd_list_element * c,
const char * value )
static

Definition at line 776 of file maint.c.

References gdb_printf().

◆ update_thread_pool_size()

static void update_thread_pool_size ( )
static

Definition at line 849 of file maint.c.

References n_worker_threads.

Referenced by maintenance_set_worker_threads().

Variable Documentation

◆ bfd_flag_info

const single_bfd_flag_info bfd_flag_info[]
static
Initial value:
=
{
{ "ALLOC", SEC_ALLOC },
{ "LOAD", SEC_LOAD },
{ "RELOC", SEC_RELOC },
{ "READONLY", SEC_READONLY },
{ "CODE", SEC_CODE },
{ "DATA", SEC_DATA },
{ "ROM", SEC_ROM },
{ "CONSTRUCTOR", SEC_CONSTRUCTOR },
{ "HAS_CONTENTS", SEC_HAS_CONTENTS },
{ "NEVER_LOAD", SEC_NEVER_LOAD },
{ "COFF_SHARED_LIBRARY", SEC_COFF_SHARED_LIBRARY },
{ "IS_COMMON", SEC_IS_COMMON }
}

Definition at line 176 of file maint.c.

Referenced by maint_info_sections_completer(), match_bfd_flags(), and print_bfd_flags().

◆ maint_info_sections_option_defs

const gdb::option::option_def maint_info_sections_option_defs[]
static
Initial value:
= {
"all-objects",
[] (maint_info_sections_opts *opts) { return &opts->all_objects; },
N_("Display information from all loaded object files."),
},
}

Definition at line 400 of file maint.c.

Referenced by make_maint_info_sections_options_def_group().

◆ maintenance_profile_p

bool maintenance_profile_p
static

Definition at line 774 of file maint.c.

◆ maintenance_selftest_option_defs

const gdb::option::option_def maintenance_selftest_option_defs[]
static
Initial value:
= {
"verbose",
[] (maintenance_selftest_options *opt) { return &opt->verbose; },
nullptr,
N_("Set whether selftests run in verbose mode."),
N_("Show whether selftests run in verbose mode."),
N_("\
When on, selftests may print verbose information."),
},
}

Definition at line 1131 of file maint.c.

Referenced by make_maintenance_selftest_option_group().

◆ maintenance_set_cmdlist

struct cmd_list_element* maintenance_set_cmdlist

◆ maintenance_show_cmdlist

struct cmd_list_element* maintenance_show_cmdlist

◆ n_worker_threads

int n_worker_threads = -1
static

Definition at line 845 of file maint.c.

Referenced by maintenance_show_worker_threads(), and update_thread_pool_size().

◆ per_command_setlist

struct cmd_list_element* per_command_setlist
static

Definition at line 907 of file maint.c.

Referenced by set_per_command_cmd().

◆ per_command_showlist

struct cmd_list_element* per_command_showlist
static

Definition at line 908 of file maint.c.

◆ per_command_space

bool per_command_space
static

◆ per_command_symtab

bool per_command_symtab
static

◆ per_command_time

bool per_command_time
static

◆ user_maintenance_selftest_options

struct maintenance_selftest_options user_maintenance_selftest_options

Referenced by maintenance_selftest().