X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fdarwin-nat-info.c;h=d2d79f516cd34c381dcde4f695eb14e581b38b3c;hb=112e8700a6fd2fed65ca70132c9cbed4132e8bd4;hp=3b1400657a4823fb74198de0b35431ce1b7d2b9e;hpb=bb00b29d7802d6b28c24bd269bb170ac66aa932a;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/darwin-nat-info.c b/gdb/darwin-nat-info.c index 3b1400657a..d2d79f516c 100644 --- a/gdb/darwin-nat-info.c +++ b/gdb/darwin-nat-info.c @@ -1,6 +1,5 @@ /* Darwin support for GDB, the GNU debugger. - Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2008 - Free Software Foundation, Inc. + Copyright (C) 1997-2016 Free Software Foundation, Inc. Contributed by Apple Computer, Inc. @@ -8,7 +7,7 @@ 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, @@ -17,9 +16,7 @@ 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 . */ /* The name of the ppc_thread_state structure, and the names of its members, have been changed for Unix conformance reasons. The easiest @@ -38,7 +35,6 @@ #include "gdbcmd.h" #include "inferior.h" -#include #include #include "darwin-nat.h" @@ -53,7 +49,7 @@ #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) \ @@ -122,7 +118,7 @@ get_task_from_args (char *args) { 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 (); @@ -262,32 +258,32 @@ info_mach_ports_command (char *args, int from_tty) { 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; } } @@ -304,7 +300,7 @@ info_mach_ports_command (char *args, int from_tty) } -void +static void darwin_debug_port_info (task_t task, mach_port_t port) { kern_return_t kret; @@ -546,7 +542,7 @@ darwin_debug_regions (task_t task, mach_vm_address_t address, int max) 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; @@ -576,8 +572,8 @@ darwin_debug_regions (task_t task, mach_vm_address_t address, int max) if (print) { printf_filtered (_("%s-%s %s/%s %s %s %s"), - paddr(prev_address), - paddr(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), @@ -622,28 +618,29 @@ darwin_debug_regions_recurse (task_t task) 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 (current_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"); + uiout->table_header (10, ui_left, "start", "Start"); + uiout->table_header (10, ui_left, "end", "End"); } else { - ui_out_table_header (uiout, 18, ui_left, "start", "Start"); - ui_out_table_header (uiout, 18, ui_left, "end", "End"); + uiout->table_header (18, ui_left, "start", "Start"); + uiout->table_header (18, ui_left, "end", "End"); } - ui_out_table_header (uiout, 3, ui_left, "min-prot", "Min"); - ui_out_table_header (uiout, 3, ui_left, "max-prot", "Max"); - ui_out_table_header (uiout, 5, ui_left, "inheritence", "Inh"); - ui_out_table_header (uiout, 9, ui_left, "share-mode", "Shr"); - ui_out_table_header (uiout, 1, ui_left, "depth", "D"); - ui_out_table_header (uiout, 3, ui_left, "submap", "Sm"); - ui_out_table_header (uiout, 0, ui_noalign, "tag", "Tag"); + uiout->table_header (3, ui_left, "min-prot", "Min"); + uiout->table_header (3, ui_left, "max-prot", "Max"); + uiout->table_header (5, ui_left, "inheritence", "Inh"); + uiout->table_header (9, ui_left, "share-mode", "Shr"); + uiout->table_header (1, ui_left, "depth", "D"); + uiout->table_header (3, ui_left, "submap", "Sm"); + uiout->table_header (0, ui_noalign, "tag", "Tag"); - ui_out_table_body (uiout); + uiout->table_body (); r_start = 0; r_depth = 0; @@ -661,29 +658,29 @@ darwin_debug_regions_recurse (task_t task) break; row_chain = make_cleanup_ui_out_tuple_begin_end (uiout, "regions-row"); - ui_out_field_core_addr (uiout, "start", r_start); - ui_out_field_core_addr (uiout, "end", r_start + r_size); - ui_out_field_string (uiout, "min-prot", + uiout->field_core_addr ("start", target_gdbarch (), r_start); + uiout->field_core_addr ("end", target_gdbarch (), r_start + r_size); + uiout->field_string ("min-prot", unparse_protection (r_info.protection)); - ui_out_field_string (uiout, "max-prot", + uiout->field_string ("max-prot", unparse_protection (r_info.max_protection)); - ui_out_field_string (uiout, "inheritence", + uiout->field_string ("inheritence", unparse_inheritance (r_info.inheritance)); - ui_out_field_string (uiout, "share-mode", + uiout->field_string ("share-mode", unparse_share_mode (r_info.share_mode)); - ui_out_field_int (uiout, "depth", r_depth); - ui_out_field_string (uiout, "submap", + uiout->field_int ("depth", r_depth); + uiout->field_string ("submap", r_info.is_submap ? _("sm ") : _("obj")); tag = unparse_user_tag (r_info.user_tag); if (tag) - ui_out_field_string (uiout, "tag", tag); + uiout->field_string ("tag", tag); else - ui_out_field_int (uiout, "tag", r_info.user_tag); + uiout->field_int ("tag", r_info.user_tag); do_cleanups (row_chain); - if (!ui_out_is_mi_like_p (uiout)) - ui_out_text (uiout, "\n"); + if (!uiout->is_mi_like_p ()) + uiout->text ("\n"); if (r_info.is_submap) r_depth++; @@ -728,13 +725,12 @@ info_mach_regions_recurse_command (char *args, int from_tty) static void info_mach_region_command (char *exp, int from_tty) { - struct expression *expr; struct value *val; mach_vm_address_t address; struct inferior *inf; - expr = parse_expression (exp); - val = evaluate_expression (expr); + expression_up expr = parse_expression (exp); + val = evaluate_expression (expr.get ()); if (TYPE_CODE (value_type (val)) == TYPE_CODE_REF) { val = value_ind (val); @@ -745,7 +741,7 @@ info_mach_region_command (char *exp, int from_tty) error (_("Inferior not available")); inf = current_inferior (); - darwin_debug_region (inf->private->task, address); + darwin_debug_region (inf->priv->task, address); } static void @@ -814,12 +810,12 @@ info_mach_exceptions_command (char *args, int from_tty) { 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); @@ -838,38 +834,15 @@ info_mach_exceptions_command (char *args, int from_tty) 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)