X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fwindows-tdep.c;h=7772df4c2870f6ab591b9486dfce83199081e773;hb=d11a9fabab657e592df9167535bc46804937cf18;hp=4af797f946960c3ee9b793ca8af15cfffcecea60;hpb=0743fc83c03da263953dfc393a66744a08770365;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/windows-tdep.c b/gdb/windows-tdep.c index 4af797f946..7772df4c28 100644 --- a/gdb/windows-tdep.c +++ b/gdb/windows-tdep.c @@ -602,6 +602,21 @@ show_maint_show_all_tib (struct ui_file *file, int from_tty, "Thread Information Block is %s.\n"), value); } + +static int w32_prefix_command_valid = 0; +void +init_w32_command_list (void) +{ + if (!w32_prefix_command_valid) + { + add_basic_prefix_cmd + ("w32", class_info, + _("Print information specific to Win32 debugging."), + &info_w32_cmdlist, "info w32 ", 0, &infolist); + w32_prefix_command_valid = 1; + } +} + /* Implementation of `gdbarch_gdb_signal_to_target' for Windows. */ static int @@ -753,6 +768,8 @@ create_enum (struct gdbarch *gdbarch, int bit, const char *name, static const struct enum_value_name exception_values[] = { { 0x40000015, "FATAL_APP_EXIT" }, + { 0x4000001E, "WX86_SINGLE_STEP" }, + { 0x4000001F, "WX86_BREAKPOINT" }, { 0x40010005, "DBG_CONTROL_C" }, { 0x40010008, "DBG_CONTROL_BREAK" }, { 0x80000002, "DATATYPE_MISALIGNMENT" }, @@ -1056,18 +1073,19 @@ range [0x%" BFD_VMA_FMT "x, 0x%" BFD_VMA_FMT "x[."), const gdb_byte *name = &idata_contents[name_va - idata_section_va]; - /* Make sure we don't overshoot the end of the section with the streq. */ - if (name + sizeof (CYGWIN_DLL_NAME) > end) - continue; - - /* Finally, check if this is the dll name we are looking for. */ - if (streq ((const char *) name, CYGWIN_DLL_NAME)) - return true; + /* Make sure we don't overshoot the end of the section with the + streq. */ + if (name + sizeof (CYGWIN_DLL_NAME) <= end) + { + /* Finally, check if this is the dll name we are looking for. */ + if (streq ((const char *) name, CYGWIN_DLL_NAME)) + return true; + } iter += sizeof (pe_import_directory_entry); } - return false; + return false; } void _initialize_windows_tdep (); @@ -1077,10 +1095,7 @@ _initialize_windows_tdep () windows_gdbarch_data_handle = gdbarch_data_register_post_init (init_windows_gdbarch_data); - add_basic_prefix_cmd ("w32", class_info, - _("Print information specific to Win32 debugging."), - &info_w32_cmdlist, "info w32 ", 0, &infolist); - + init_w32_command_list (); add_cmd ("thread-information-block", class_info, display_tib, _("Display thread information block."), &info_w32_cmdlist);