/* Darwin support for GDB, the GNU debugger.
- Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2008, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1997-2016 Free Software Foundation, Inc.
Contributed by Apple Computer, Inc.
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 2 of the License, or
+ 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,
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, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* The name of the ppc_thread_state structure, and the names of its
members, have been changed for Unix conformance reasons. The easiest
#include "gdbcmd.h"
#include "inferior.h"
-#include <sys/param.h>
#include <sys/sysctl.h>
#include "darwin-nat.h"
#define CHECK_ARGS(what, args) do { \
if ((NULL == args) || ((args[0] != '0') && (args[1] != 'x'))) \
- error("%s must be specified with 0x...", what); \
+ error(_("%s must be specified with 0x..."), what); \
} while (0)
#define PRINT_FIELD(structure, field) \
{
if (ptid_equal (inferior_ptid, null_ptid))
printf_unfiltered (_("No inferior running\n"));
- return current_inferior ()->private->task;
+ return current_inferior ()->priv->task;
}
if (strcmp (args, "gdb") == 0)
return mach_task_self ();
{
struct inferior *inf = current_inferior ();
- if (port == inf->private->task)
+ if (port == inf->priv->task)
printf_unfiltered (_(" inferior-task"));
- else if (port == inf->private->notify_port)
+ else if (port == inf->priv->notify_port)
printf_unfiltered (_(" inferior-notify"));
else
{
int k;
darwin_thread_t *t;
- for (k = 0; k < inf->private->exception_info.count; k++)
- if (port == inf->private->exception_info.ports[k])
+ for (k = 0; k < inf->priv->exception_info.count; k++)
+ if (port == inf->priv->exception_info.ports[k])
{
printf_unfiltered (_(" inferior-excp-port"));
break;
}
- if (inf->private->threads)
+ if (inf->priv->threads)
{
for (k = 0;
VEC_iterate(darwin_thread_t,
- inf->private->threads, k, t);
+ inf->priv->threads, k, t);
k++)
if (port == t->gdb_port)
{
printf_unfiltered (_(" inferior-thread for 0x%x"),
- inf->private->task);
+ inf->priv->task);
break;
}
}
}
-void
+static void
darwin_debug_port_info (task_t task, mach_port_t port)
{
kern_return_t kret;
address = prev_address + prev_size;
- /* Check to see if address space has wrapped around. */
+ /* Check to see if address space has wrapped around. */
if (address == 0)
print = done = 1;
if (print)
{
printf_filtered (_("%s-%s %s/%s %s %s %s"),
- paddress (target_gdbarch, prev_address),
- paddress (target_gdbarch, prev_address + prev_size),
+ paddress (target_gdbarch (), prev_address),
+ paddress (target_gdbarch (), prev_address + prev_size),
unparse_protection (prev_info.protection),
unparse_protection (prev_info.max_protection),
unparse_inheritance (prev_info.inheritance),
kern_return_t kret;
int ret;
struct cleanup *table_chain;
+ struct ui_out *uiout = current_uiout;
table_chain = make_cleanup_ui_out_table_begin_end (uiout, 9, -1, "regions");
- if (gdbarch_addr_bit (target_gdbarch) <= 32)
+ if (gdbarch_addr_bit (target_gdbarch ()) <= 32)
{
ui_out_table_header (uiout, 10, ui_left, "start", "Start");
ui_out_table_header (uiout, 10, ui_left, "end", "End");
break;
row_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "regions-row");
- ui_out_field_core_addr (uiout, "start", target_gdbarch, r_start);
- ui_out_field_core_addr (uiout, "end", target_gdbarch, r_start + r_size);
+ ui_out_field_core_addr (uiout, "start", target_gdbarch (), r_start);
+ ui_out_field_core_addr (uiout, "end", target_gdbarch (), r_start + r_size);
ui_out_field_string (uiout, "min-prot",
unparse_protection (r_info.protection));
ui_out_field_string (uiout, "max-prot",
error (_("Inferior not available"));
inf = current_inferior ();
- darwin_debug_region (inf->private->task, address);
+ darwin_debug_region (inf->priv->task, address);
}
static void
{
if (ptid_equal (inferior_ptid, null_ptid))
printf_unfiltered (_("No inferior running\n"));
- disp_exception (¤t_inferior ()->private->exception_info);
+ disp_exception (¤t_inferior ()->priv->exception_info);
return;
}
else if (strcmp (args, "host") == 0)
{
- /* FIXME: This need a the privilegied host port! */
+ /* FIXME: This need a privilegied host port! */
kret = host_get_exception_ports
(darwin_host_self, EXC_MASK_ALL, info.masks,
&info.count, info.ports, info.behaviors, info.flavors);
inf = current_inferior ();
kret = task_get_exception_ports
- (inf->private->task, EXC_MASK_ALL, info.masks,
+ (inf->priv->task, EXC_MASK_ALL, info.masks,
&info.count, info.ports, info.behaviors, info.flavors);
MACH_CHECK_ERROR (kret);
disp_exception (&info);
}
}
-static void
-darwin_list_gdb_ports (const char *msg)
-{
- mach_port_name_array_t names;
- mach_port_type_array_t types;
- unsigned int name_count, type_count;
- kern_return_t result;
- int i;
-
- result = mach_port_names (mach_task_self (),
- &names, &name_count, &types, &type_count);
- MACH_CHECK_ERROR (result);
-
- gdb_assert (name_count == type_count);
-
- printf_unfiltered (_("Ports for %s:"), msg);
- for (i = 0; i < name_count; ++i)
- printf_unfiltered (_(" 0x%04x"), names[i]);
- printf_unfiltered (_("\n"));
-
- vm_deallocate (mach_task_self (), (vm_address_t) names,
- (name_count * sizeof (mach_port_t)));
- vm_deallocate (mach_task_self (), (vm_address_t) types,
- (type_count * sizeof (mach_port_type_t)));
-}
+/* -Wmissing-prototypes */
+extern initialize_file_ftype _initialize_darwin_info_commands;
void
_initialize_darwin_info_commands (void)