2004-08-02 Andrew Cagney <cagney@gnu.org>
[binutils-gdb.git] / gdb / infcmd.c
index 4eeacca8838188b69815904e86192b4a9b8fd8f1..b529d8b0595b2d2adc4110d8aebb09959d36dae4 100644 (file)
@@ -1091,36 +1091,20 @@ print_return_value (int struct_return, struct type *value_type)
      inferior function call code.  In fact, when inferior function
      calls are made async, this will likely be made the norm.  */
 
-  if (gdbarch_return_value_p (gdbarch))
-    {
-      switch (gdbarch_return_value (gdbarch, value_type, NULL, NULL, NULL))
-       {
-       case RETURN_VALUE_REGISTER_CONVENTION:
-       case RETURN_VALUE_ABI_RETURNS_ADDRESS:
-         value = allocate_value (value_type);
-         CHECK_TYPEDEF (value_type);
-         gdbarch_return_value (current_gdbarch, value_type, stop_registers,
-                               VALUE_CONTENTS_RAW (value), NULL);
-         break;
-       case RETURN_VALUE_STRUCT_CONVENTION:
-         value = NULL;
-         break;
-       default:
-         internal_error (__FILE__, __LINE__, "bad switch");
-       }
-    }
-  else if (!struct_return && DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ())
-    {
-      CORE_ADDR addr = DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (stop_registers);
-      if (!addr)
-       error ("Function return value unknown.");
-      value = value_at (value_type, addr, NULL);
-    }
-  else
+  switch (gdbarch_return_value (gdbarch, value_type, NULL, NULL, NULL))
     {
+    case RETURN_VALUE_REGISTER_CONVENTION:
+    case RETURN_VALUE_ABI_RETURNS_ADDRESS:
       value = allocate_value (value_type);
-      EXTRACT_RETURN_VALUE (value_type, stop_registers,
-                           VALUE_CONTENTS_RAW (value));
+      CHECK_TYPEDEF (value_type);
+      gdbarch_return_value (current_gdbarch, value_type, stop_registers,
+                           VALUE_CONTENTS_RAW (value), NULL);
+      break;
+    case RETURN_VALUE_STRUCT_CONVENTION:
+      value = NULL;
+      break;
+    default:
+      internal_error (__FILE__, __LINE__, "bad switch");
     }
 
   if (value)
@@ -1584,13 +1568,13 @@ default_print_registers_info (struct gdbarch *gdbarch,
                     file, 0, 1, 0, Val_pretty_default);
 
          fprintf_filtered (file, "\t(raw 0x");
-         for (j = 0; j < DEPRECATED_REGISTER_RAW_SIZE (i); j++)
+         for (j = 0; j < register_size (current_gdbarch, i); j++)
            {
              int idx;
              if (TARGET_BYTE_ORDER == BFD_ENDIAN_BIG)
                idx = j;
              else
-               idx = DEPRECATED_REGISTER_RAW_SIZE (i) - 1 - j;
+               idx = register_size (current_gdbarch, i) - 1 - j;
              fprintf_filtered (file, "%02x", (unsigned char) buffer[idx]);
            }
          fprintf_filtered (file, ")");
@@ -1804,9 +1788,6 @@ attach_command (char *args, int from_tty)
      based on what modes we are starting it with.  */
   target_terminal_init ();
 
-  /* Install inferior's terminal modes.  */
-  target_terminal_inferior ();
-
   /* Set up execution context to know that we should return from
      wait_for_inferior as soon as the target reports a stop.  */
   init_wait_for_inferior ();
@@ -1865,6 +1846,9 @@ attach_command (char *args, int from_tty)
    */
   target_post_attach (PIDGET (inferior_ptid));
 
+  /* Install inferior's terminal modes.  */
+  target_terminal_inferior ();
+
   normal_stop ();
 
   if (deprecated_attach_hook)
@@ -1986,7 +1970,7 @@ Follow this command with any number of args, to be passed to the program.",
                   &setlist);
   set_cmd_completer (c, filename_completer);
   set_cmd_sfunc (c, notice_args_set);
-  c = add_show_from_set (c, &showlist);
+  c = deprecated_add_show_from_set (c, &showlist);
   set_cmd_sfunc (c, notice_args_read);
 
   c = add_cmd