Use upper case for more metasyntactic variables in gdb
[deliverable/binutils-gdb.git] / gdb / darwin-nat-info.c
index 1ec64b02d52eec6c74cb623dbdbaeb91ebf770ad..ca3b2e872523c4027b9b6be83bccd5603a41f379 100644 (file)
@@ -1,6 +1,5 @@
 /* Darwin support for GDB, the GNU debugger.
 /* Darwin support for GDB, the GNU debugger.
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 1997-2019 Free Software Foundation, Inc.
 
    Contributed by Apple Computer, 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
 
    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,
    (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
    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
 
 /* 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 "gdbcmd.h"
 #include "inferior.h"
 
-#include <sys/param.h>
 #include <sys/sysctl.h>
 
 #include "darwin-nat.h"
 #include <sys/sysctl.h>
 
 #include "darwin-nat.h"
@@ -53,7 +49,7 @@
 
 #define CHECK_ARGS(what, args) do { \
   if ((NULL == args) || ((args[0] != '0') && (args[1] != 'x'))) \
 
 #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) \
 } while (0)
 
 #define PRINT_FIELD(structure, field) \
@@ -70,7 +66,7 @@
 #define port_type_array_t mach_port_array_t
 
 static void
 #define port_type_array_t mach_port_array_t
 
 static void
-info_mach_tasks_command (char *args, int from_tty)
+info_mach_tasks_command (const char *args, int from_tty)
 {
   int sysControl[4];
   int count, index;
 {
   int sysControl[4];
   int count, index;
@@ -113,16 +109,19 @@ info_mach_tasks_command (char *args, int from_tty)
 }
 
 static task_t
 }
 
 static task_t
-get_task_from_args (char *args)
+get_task_from_args (const char *args)
 {
   task_t task;
   char *eptr;
 
   if (args == NULL || *args == 0)
     {
 {
   task_t task;
   char *eptr;
 
   if (args == NULL || *args == 0)
     {
-      if (ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid == null_ptid)
        printf_unfiltered (_("No inferior running\n"));
        printf_unfiltered (_("No inferior running\n"));
-      return current_inferior ()->private->task;
+
+      darwin_inferior *priv = get_darwin_inferior (current_inferior ());
+
+      return priv->task;
     }
   if (strcmp (args, "gdb") == 0)
     return mach_task_self ();
     }
   if (strcmp (args, "gdb") == 0)
     return mach_task_self ();
@@ -136,7 +135,7 @@ get_task_from_args (char *args)
 }
 
 static void
 }
 
 static void
-info_mach_task_command (char *args, int from_tty)
+info_mach_task_command (const char *args, int from_tty)
 {
   union
   {
 {
   union
   {
@@ -193,7 +192,7 @@ info_mach_task_command (char *args, int from_tty)
 }
 
 static void
 }
 
 static void
-info_mach_ports_command (char *args, int from_tty)
+info_mach_ports_command (const char *args, int from_tty)
 {
   port_name_array_t names;
   port_type_array_t types;
 {
   port_name_array_t names;
   port_type_array_t types;
@@ -258,39 +257,34 @@ info_mach_ports_command (char *args, int from_tty)
            printf_unfiltered (_(" gdb-exception"));
          else if (port == darwin_port_set)
            printf_unfiltered (_(" gdb-port_set"));
            printf_unfiltered (_(" gdb-exception"));
          else if (port == darwin_port_set)
            printf_unfiltered (_(" gdb-port_set"));
-         else if (!ptid_equal (inferior_ptid, null_ptid))
+         else if (inferior_ptid != null_ptid)
            {
              struct inferior *inf = current_inferior ();
            {
              struct inferior *inf = current_inferior ();
+             darwin_inferior *priv = get_darwin_inferior (inf);
 
 
-             if (port == inf->private->task)
+             if (port == priv->task)
                printf_unfiltered (_(" inferior-task"));
                printf_unfiltered (_(" inferior-task"));
-             else if (port == inf->private->notify_port)
+             else if (port == priv->notify_port)
                printf_unfiltered (_(" inferior-notify"));
              else
                {
                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 (int k = 0; k < priv->exception_info.count; k++)
+                   if (port == priv->exception_info.ports[k])
                      {
                        printf_unfiltered (_(" inferior-excp-port"));
                        break;
                      }
 
                      {
                        printf_unfiltered (_(" inferior-excp-port"));
                        break;
                      }
 
-                 if (inf->private->threads)
+                 for (darwin_thread_t *t : priv->threads)
                    {
                    {
-                     for (k = 0;
-                          VEC_iterate(darwin_thread_t,
-                                      inf->private->threads, k, t);
-                          k++)
-                       if (port == t->gdb_port)
-                         {
-                           printf_unfiltered (_(" inferior-thread for 0x%x"),
-                                              inf->private->task);
-                           break;
-                         }
+                     if (port == t->gdb_port)
+                       {
+                         printf_unfiltered (_(" inferior-thread for 0x%x"),
+                                            priv->task);
+                         break;
+                       }
                    }
                    }
+
                }
            }
        }
                }
            }
        }
@@ -304,7 +298,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;
 darwin_debug_port_info (task_t task, mach_port_t port)
 {
   kern_return_t kret;
@@ -330,7 +324,7 @@ darwin_debug_port_info (task_t task, mach_port_t port)
 }
 
 static void
 }
 
 static void
-info_mach_port_command (char *args, int from_tty)
+info_mach_port_command (const char *args, int from_tty)
 {
   task_t task;
   mach_port_t port;
 {
   task_t task;
   mach_port_t port;
@@ -342,7 +336,7 @@ info_mach_port_command (char *args, int from_tty)
 }
 
 static void
 }
 
 static void
-info_mach_threads_command (char *args, int from_tty)
+info_mach_threads_command (const char *args, int from_tty)
 {
   thread_array_t threads;
   unsigned int thread_count;
 {
   thread_array_t threads;
   unsigned int thread_count;
@@ -369,7 +363,7 @@ info_mach_threads_command (char *args, int from_tty)
 }
 
 static void
 }
 
 static void
-info_mach_thread_command (char *args, int from_tty)
+info_mach_thread_command (const char *args, int from_tty)
 {
   union
   {
 {
   union
   {
@@ -546,7 +540,7 @@ darwin_debug_regions (task_t task, mach_vm_address_t address, int max)
 
       address = prev_address + prev_size;
 
 
       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 (address == 0)
         print = done = 1;
 
@@ -576,8 +570,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"),
       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),
                            unparse_protection (prev_info.protection),
                            unparse_protection (prev_info.max_protection),
                            unparse_inheritance (prev_info.inheritance),
@@ -613,44 +607,41 @@ darwin_debug_regions (task_t task, mach_vm_address_t address, int max)
 static void
 darwin_debug_regions_recurse (task_t task)
 {
 static void
 darwin_debug_regions_recurse (task_t task)
 {
-  mach_vm_address_t r_addr;
   mach_vm_address_t r_start;
   mach_vm_size_t r_size;
   natural_t r_depth;
   mach_msg_type_number_t r_info_size;
   vm_region_submap_short_info_data_64_t r_info;
   kern_return_t kret;
   mach_vm_address_t r_start;
   mach_vm_size_t r_size;
   natural_t r_depth;
   mach_msg_type_number_t r_info_size;
   vm_region_submap_short_info_data_64_t r_info;
   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");
+  ui_out_emit_table table_emitter (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");
+      uiout->table_header (10, ui_left, "start", "Start");
+      uiout->table_header (10, ui_left, "end", "End");
     }
   else
     {
     }
   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;
   while (1)
     {
       const char *tag;
 
   r_start = 0;
   r_depth = 0;
   while (1)
     {
       const char *tag;
-      struct cleanup *row_chain;
 
       r_info_size = VM_REGION_SUBMAP_SHORT_INFO_COUNT_64;
       r_size = -1;
 
       r_info_size = VM_REGION_SUBMAP_SHORT_INFO_COUNT_64;
       r_size = -1;
@@ -659,39 +650,37 @@ darwin_debug_regions_recurse (task_t task)
                                     &r_info_size);
       if (kret != KERN_SUCCESS)
        break;
                                     &r_info_size);
       if (kret != KERN_SUCCESS)
        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_string (uiout, "min-prot", 
-                          unparse_protection (r_info.protection));
-      ui_out_field_string (uiout, "max-prot", 
-                          unparse_protection (r_info.max_protection));
-      ui_out_field_string (uiout, "inheritence",
-                          unparse_inheritance (r_info.inheritance));
-      ui_out_field_string (uiout, "share-mode",
-                          unparse_share_mode (r_info.share_mode));
-      ui_out_field_int (uiout, "depth", r_depth);
-      ui_out_field_string (uiout, "submap",
-                          r_info.is_submap ? _("sm ") : _("obj"));
-      tag = unparse_user_tag (r_info.user_tag);
-      if (tag)
-       ui_out_field_string (uiout, "tag", tag);
-      else
-       ui_out_field_int (uiout, "tag", r_info.user_tag);
-
-      do_cleanups (row_chain);
 
 
-      if (!ui_out_is_mi_like_p (uiout))
-       ui_out_text (uiout, "\n");
+      {
+       ui_out_emit_tuple tuple_emitter (uiout, "regions-row");
+
+       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));
+       uiout->field_string ("max-prot",
+                            unparse_protection (r_info.max_protection));
+       uiout->field_string ("inheritence",
+                            unparse_inheritance (r_info.inheritance));
+       uiout->field_string ("share-mode",
+                            unparse_share_mode (r_info.share_mode));
+       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)
+         uiout->field_string ("tag", tag);
+       else
+         uiout->field_int ("tag", r_info.user_tag);
+      }
+
+      uiout->text ("\n");
 
       if (r_info.is_submap)
        r_depth++;
       else
        r_start += r_size;
     }
 
       if (r_info.is_submap)
        r_depth++;
       else
        r_start += r_size;
     }
-  do_cleanups (table_chain);
-
 }
 
 
 }
 
 
@@ -702,7 +691,7 @@ darwin_debug_region (task_t task, mach_vm_address_t address)
 }
 
 static void
 }
 
 static void
-info_mach_regions_command (char *args, int from_tty)
+info_mach_regions_command (const char *args, int from_tty)
 {
   task_t task;
 
 {
   task_t task;
 
@@ -714,7 +703,7 @@ info_mach_regions_command (char *args, int from_tty)
 }
 
 static void
 }
 
 static void
-info_mach_regions_recurse_command (char *args, int from_tty)
+info_mach_regions_recurse_command (const char *args, int from_tty)
 {
   task_t task;
 
 {
   task_t task;
 
@@ -726,26 +715,26 @@ info_mach_regions_recurse_command (char *args, int from_tty)
 }
 
 static void
 }
 
 static void
-info_mach_region_command (char *exp, int from_tty)
+info_mach_region_command (const char *exp, int from_tty)
 {
 {
-  struct expression *expr;
   struct value *val;
   mach_vm_address_t address;
   struct inferior *inf;
 
   struct value *val;
   mach_vm_address_t address;
   struct inferior *inf;
 
-  expr = parse_expression (exp);
-  val = evaluate_expression (expr);
-  if (TYPE_CODE (value_type (val)) == TYPE_CODE_REF)
+  expression_up expr = parse_expression (exp);
+  val = evaluate_expression (expr.get ());
+  if (TYPE_IS_REFERENCE (value_type (val)))
     {
       val = value_ind (val);
     }
   address = value_as_address (val);
 
     {
       val = value_ind (val);
     }
   address = value_as_address (val);
 
-  if (ptid_equal (inferior_ptid, null_ptid))
+  if (inferior_ptid == null_ptid)
     error (_("Inferior not available"));
 
   inf = current_inferior ();
     error (_("Inferior not available"));
 
   inf = current_inferior ();
-  darwin_debug_region (inf->private->task, address);
+  darwin_inferior *priv = get_darwin_inferior (inf);
+  darwin_debug_region (priv->task, address);
 }
 
 static void
 }
 
 static void
@@ -799,10 +788,8 @@ disp_exception (const darwin_exception_info *info)
 }
 
 static void
 }
 
 static void
-info_mach_exceptions_command (char *args, int from_tty)
+info_mach_exceptions_command (const char *args, int from_tty)
 {
 {
-  int i;
-  task_t task;
   kern_return_t kret;
   darwin_exception_info info;
 
   kern_return_t kret;
   darwin_exception_info info;
 
@@ -812,14 +799,17 @@ info_mach_exceptions_command (char *args, int from_tty)
     {
       if (strcmp (args, "saved") == 0)
        {
     {
       if (strcmp (args, "saved") == 0)
        {
-         if (ptid_equal (inferior_ptid, null_ptid))
+         if (inferior_ptid == null_ptid)
            printf_unfiltered (_("No inferior running\n"));
            printf_unfiltered (_("No inferior running\n"));
-         disp_exception (&current_inferior ()->private->exception_info);
+
+         darwin_inferior *priv = get_darwin_inferior (current_inferior ());
+
+         disp_exception (&priv->exception_info);
          return;
        }
       else if (strcmp (args, "host") == 0)
        {
          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);
          kret = host_get_exception_ports
            (darwin_host_self, EXC_MASK_ALL, info.masks,
             &info.count, info.ports, info.behaviors, info.flavors);
@@ -833,44 +823,20 @@ info_mach_exceptions_command (char *args, int from_tty)
     {
       struct inferior *inf;
 
     {
       struct inferior *inf;
 
-      if (ptid_equal (inferior_ptid, null_ptid))
+      if (inferior_ptid == null_ptid)
        printf_unfiltered (_("No inferior running\n"));
       inf = current_inferior ();
       
        printf_unfiltered (_("No inferior running\n"));
       inf = current_inferior ();
       
+      darwin_inferior *priv = get_darwin_inferior (inf);
+
       kret = task_get_exception_ports
       kret = task_get_exception_ports
-       (inf->private->task, EXC_MASK_ALL, info.masks,
+       (priv->task, EXC_MASK_ALL, info.masks,
         &info.count, info.ports, info.behaviors, info.flavors);
       MACH_CHECK_ERROR (kret);
       disp_exception (&info);
     }
 }
 
         &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)));
-}
-
 void
 _initialize_darwin_info_commands (void)
 {
 void
 _initialize_darwin_info_commands (void)
 {
This page took 0.050745 seconds and 4 git commands to generate.