1999-01-19 Fernando Nasser <fnasser@totem.to.cygnus.com>
[deliverable/binutils-gdb.git] / gdb / gdbarch.c
index 263ee7334c1dbb0f135dd9e621c26da16bff342e..272362f88c9eb9263c5d5e142fe7fd9f78f95638 100644 (file)
@@ -62,12 +62,12 @@ struct gdbarch
 
      When adding to the below you must also: declare/define set/get
      value functions; override the corresponding macro in gdbarch.h;
-     initialize the value in gdbarch_alloc() (if zero is an unsuitable
-     default); confirm that the target updated the value correctly in
-     verify_gdbarch(); add a fprintf_unfiltered call to
+     if zero/NULL is not a suitable default, initialize the field in
+     gdbarch_alloc(); confirm that the target updated the value
+     correctly in verify_gdbarch(); add a fprintf_unfiltered call to
      gdbarch_update() so that the new field is dumped out; append an
-     initial value to the static variable DEFAULT_GDBARCH (base values
-     on the host's c-type system). */
+     initial value to the static variable ``default_gdbarch'' (base
+     values on the host's c-type system). */
 
   int long_bit;
   int long_long_bit;
@@ -374,7 +374,7 @@ register_gdbarch_init (bfd_architecture, init)
     }
   /* log it */
   if (gdbarch_debug)
-    fprintf_unfiltered (stderr, "register_gdbarch_init (%s, 0x%08lx)\n",
+    fprintf_unfiltered (gdb_stderr, "register_gdbarch_init (%s, 0x%08lx)\n",
                        bfd_arch_info->printable_name,
                        (long) init);
   /* Append it */
@@ -474,18 +474,43 @@ gdbarch_update (info)
   if (rego == NULL)
     {
       if (gdbarch_debug)
-       fprintf_unfiltered (stderr, "gdbarch_update: No matching architecture\n");
+       fprintf_unfiltered (gdb_stderr, "gdbarch_update: No matching architecture\n");
       return 0;
     }
 
+  if (gdbarch_debug)
+    {
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: info.bfd_architecture %d (%s)\n",
+                         info.bfd_architecture,
+                         bfd_lookup_arch (info.bfd_architecture, 0)->printable_name);
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: info.bfd_arch_info %s\n",
+                         (info.bfd_arch_info != NULL
+                          ? info.bfd_arch_info->printable_name
+                          : "(null)"));
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: info.byte_order %d (%s)\n",
+                         info.byte_order,
+                         (info.byte_order == BIG_ENDIAN ? "big"
+                          : info.byte_order == LITTLE_ENDIAN ? "little"
+                          : "default"));
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: info.abfd 0x%lx\n",
+                         (long) info.abfd);
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: info.tdep_info 0x%lx\n",
+                         (long) info.tdep_info);
+    }
+
   /* Ask the target for a replacement architecture. */
-  new_gdbarch = rego->init (&info, rego->arches);
+  new_gdbarch = rego->init (info, rego->arches);
 
   /* Did the target like it?  No. Reject the change. */
   if (new_gdbarch == NULL)
     {
       if (gdbarch_debug)
-       fprintf_unfiltered (stderr, "gdbarch_update: Target rejected architecture\n");
+       fprintf_unfiltered (gdb_stderr, "gdbarch_update: Target rejected architecture\n");
       return 0;
     }
 
@@ -493,7 +518,7 @@ gdbarch_update (info)
   if (current_gdbarch == new_gdbarch)
     {
       if (gdbarch_debug)
-       fprintf_unfiltered (stderr, "gdbarch_update: Architecture 0x%08lx (%s) unchanged\n",
+       fprintf_unfiltered (gdb_stderr, "gdbarch_update: Architecture 0x%08lx (%s) unchanged\n",
                            (long) new_gdbarch,
                            new_gdbarch->bfd_arch_info->printable_name);
       return 1;
@@ -510,7 +535,7 @@ gdbarch_update (info)
       if ((*list)->gdbarch == new_gdbarch)
        {
          if (gdbarch_debug)
-           fprintf_unfiltered (stderr, "gdbarch_update: Previous architecture 0x%08lx (%s) selected\n",
+           fprintf_unfiltered (gdb_stderr, "gdbarch_update: Previous architecture 0x%08lx (%s) selected\n",
                                (long) new_gdbarch,
                                new_gdbarch->bfd_arch_info->printable_name);
          current_gdbarch = new_gdbarch;
@@ -528,13 +553,25 @@ gdbarch_update (info)
   current_gdbarch = new_gdbarch;
   if (gdbarch_debug)
     {
-      fprintf_unfiltered (stderr, "gdbarch_update: New architecture 0x%08lx (%s) selected\n",
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: New architecture 0x%08lx (%s) selected\n",
                          (long) new_gdbarch,
                          new_gdbarch->bfd_arch_info->printable_name);
-      fprintf_unfiltered (stderr, "TARGET_BYTE_ORDER = %d\n", TARGET_BYTE_ORDER);
-      fprintf_unfiltered (stderr, "TARGET_LONG_BIT = %d\n", TARGET_LONG_BIT);
-      fprintf_unfiltered (stderr, "TARGET_LONG_LONG_BIT = %d\n", TARGET_LONG_LONG_BIT);
-      fprintf_unfiltered (stderr, "TARGET_PTR_BIT = %d\n", TARGET_PTR_BIT);
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: TARGET_BYTE_ORDER = %d (%s)\n",
+                         TARGET_BYTE_ORDER,
+                         (TARGET_BYTE_ORDER == BIG_ENDIAN ? "big"
+                          : TARGET_BYTE_ORDER == LITTLE_ENDIAN ? "little"
+                          : "default"));
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: TARGET_LONG_BIT = %d\n",
+                         TARGET_LONG_BIT);
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: TARGET_LONG_LONG_BIT = %d\n",
+                         TARGET_LONG_LONG_BIT);
+      fprintf_unfiltered (gdb_stderr,
+                         "gdbarch_update: TARGET_PTR_BIT = %d\n",
+                         TARGET_PTR_BIT);
     }
   
   /* Check that the newly installed architecture is valid.  */
This page took 0.025215 seconds and 4 git commands to generate.