mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-12 20:03:45 +08:00
36dfb11c8b
PR mi/8444: * mi/mi-common.h (EXEC_ASYNC_SOLIB_EVENT, EXEC_ASYNC_FORK) (EXEC_ASYNC_VFORK, EXEC_ASYNC_SYSCALL_ENTRY) (EXEC_ASYNC_SYSCALL_RETURN, EXEC_ASYNC_EXEC): New constants. * mi/mi-common.c (async_reason_string_lookup): Add new reasons. * breakpoint.c (print_it_catch_fork, print_it_catch_vfork) (print_it_catch_syscall, print_it_catch_exec) (internal_bkpt_print_it): Use ui_out. Emit stop reason. (bpstat_print): Add 'kind' argument. Handle TARGET_WAITKIND_LOADED. * infrun.c (normal_stop): Update for bpstat_print change. Don't handle TARGET_WAITKIND_LOADED here. * breakpoint.h (bpstat_print): Update. gdb/testsuite * lib/mi-support.exp (mi_run_cmd_full): Rename from mi_run_cmd. Add "use_mi_command" argument. (mi_run_cmd, mi_run_with_cli): New procs. * gdb.mi/solib-lib.c: New file. * gdb.mi/solib-main.c: New file. * gdb.mi/mi-solib.exp: New file. gdb/doc * gdb.texinfo (GDB/MI Async Records): Document new *stopped reasons.
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/* Interface for common GDB/MI data
|
|
Copyright (C) 2005, 2007, 2008, 2009, 2010, 2011
|
|
Free Software Foundation, Inc.
|
|
|
|
This file is part of GDB.
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
|
|
|
#include "defs.h"
|
|
#include "gdb_assert.h"
|
|
#include "mi-common.h"
|
|
|
|
static const char * const async_reason_string_lookup[] =
|
|
{
|
|
"breakpoint-hit",
|
|
"watchpoint-trigger",
|
|
"read-watchpoint-trigger",
|
|
"access-watchpoint-trigger",
|
|
"function-finished",
|
|
"location-reached",
|
|
"watchpoint-scope",
|
|
"end-stepping-range",
|
|
"exited-signalled",
|
|
"exited",
|
|
"exited-normally",
|
|
"signal-received",
|
|
"solib-event",
|
|
"fork",
|
|
"vfork",
|
|
"syscall-entry",
|
|
"syscall-return",
|
|
"exec",
|
|
NULL
|
|
};
|
|
|
|
static_assert (ARRAY_SIZE (async_reason_string_lookup) == EXEC_ASYNC_LAST + 1);
|
|
|
|
const char *
|
|
async_reason_lookup (enum async_reply_reason reason)
|
|
{
|
|
return async_reason_string_lookup[reason];
|
|
}
|