*** empty log message ***
[deliverable/binutils-gdb.git] / gdb / tracepoint.c
index fe9557ffc6abec5ac5a502463fd109c7f9f8c481..61fd5f1baa23879e829b3b85fa88beec8f05ca72 100644 (file)
@@ -1,7 +1,7 @@
 /* Tracing functionality for remote targets in custom GDB protocol
 
-   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003 Free Software
-   Foundation, Inc.
+   Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -1219,7 +1219,7 @@ collect_symbol (struct collection_list *collect, struct symbol *sym,
       /* check for doubles stored in two registers */
       /* FIXME: how about larger types stored in 3 or more regs? */
       if (TYPE_CODE (SYMBOL_TYPE (sym)) == TYPE_CODE_FLT &&
-         len > DEPRECATED_REGISTER_RAW_SIZE (reg))
+         len > register_size (current_gdbarch, reg))
        add_register (collect, reg + 1);
       break;
     case LOC_REF_ARG:
@@ -1693,7 +1693,7 @@ remote_set_transparent_ranges (void)
 
       anysecs = 1;
       lma = s->lma;
-      size = bfd_get_section_size_before_reloc (s);
+      size = bfd_get_section_size (s);
       sprintf_vma (tmp1, lma);
       sprintf_vma (tmp2, lma + size);
       sprintf (target_buf + strlen (target_buf), 
@@ -1935,7 +1935,7 @@ finish_tfind_command (char *msg,
 
   if (from_tty)
     {
-      int source_only;
+      enum print_what print_what;
 
       /* NOTE: in immitation of the step command, try to determine
          whether we have made a transition from one function to another.
@@ -1951,13 +1951,11 @@ finish_tfind_command (char *msg,
          (old_frame_addr == 0 ||
           get_frame_base (get_current_frame ()) == 0 ||
           old_frame_addr == get_frame_base (get_current_frame ())))
-       source_only = -1;
+       print_what = SRC_LINE;
       else
-       source_only = 1;
+       print_what = SRC_AND_LOC;
 
-      print_stack_frame (deprecated_selected_frame,
-                        frame_relative_level (deprecated_selected_frame),
-                        source_only);
+      print_stack_frame (get_selected_frame (), 1, print_what);
       do_displays ();
     }
 }
@@ -2347,7 +2345,7 @@ scope_info (char *args, int from_tty)
 
   sals = decode_line_1 (&args, 1, NULL, 0, &canonical, NULL);
   if (sals.nelts == 0)
-    return;                    /* presumably decode_line_1 has already warned */
+    return;            /* presumably decode_line_1 has already warned */
 
   /* Resolve line numbers to PC */
   resolve_sal_pc (&sals.sals[0]);
@@ -2389,7 +2387,8 @@ scope_info (char *args, int from_tty)
              break;
            case LOC_STATIC:
              printf_filtered ("in static storage at address ");
-             print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 1, gdb_stdout);
+             print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 
+                                    1, gdb_stdout);
              break;
            case LOC_REGISTER:
              printf_filtered ("a local variable in register $%s",
@@ -2421,12 +2420,13 @@ scope_info (char *args, int from_tty)
              continue;
            case LOC_LABEL:
              printf_filtered ("a label at address ");
-             print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 1, gdb_stdout);
+             print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 
+                                    1, gdb_stdout);
              break;
            case LOC_BLOCK:
              printf_filtered ("a function at address ");
-             print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), 1,
-                                    gdb_stdout);
+             print_address_numeric (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)),
+                                    1, gdb_stdout);
              break;
            case LOC_BASEREG:
              printf_filtered ("a variable at offset %ld from register $%s",
@@ -2439,7 +2439,8 @@ scope_info (char *args, int from_tty)
                               REGISTER_NAME (SYMBOL_BASEREG (sym)));
              break;
            case LOC_UNRESOLVED:
-             msym = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (sym), NULL, NULL);
+             msym = lookup_minimal_symbol (DEPRECATED_SYMBOL_NAME (sym), 
+                                           NULL, NULL);
              if (msym == NULL)
                printf_filtered ("Unresolved Static");
              else
@@ -2452,10 +2453,22 @@ scope_info (char *args, int from_tty)
            case LOC_OPTIMIZED_OUT:
              printf_filtered ("optimized out.\n");
              continue;
+           case LOC_HP_THREAD_LOCAL_STATIC:
+             printf_filtered ("HP thread local static ");
+             break;
+           case LOC_INDIRECT:
+             printf_filtered ("extern (local indirect) at address ");
+             print_address_numeric (SYMBOL_VALUE_ADDRESS (sym), 
+                                    1, gdb_stdout);
+             break;
+           case LOC_COMPUTED:
+           case LOC_COMPUTED_ARG:
+             SYMBOL_OPS (sym)->describe_location (sym, gdb_stdout);
+             break;
            }
          if (SYMBOL_TYPE (sym))
            printf_filtered (", length %d.\n",
-                          TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym))));
+                            TYPE_LENGTH (check_typedef (SYMBOL_TYPE (sym))));
        }
       if (BLOCK_FUNCTION (block))
        break;
This page took 0.025224 seconds and 4 git commands to generate.