Mon Aug 24 18:29:03 1998 Michael Snyder <msnyder@cleaver.cygnus.com>
authorMichael Snyder <msnyder@vmware.com>
Tue, 25 Aug 1998 01:31:06 +0000 (01:31 +0000)
committerMichael Snyder <msnyder@vmware.com>
Tue, 25 Aug 1998 01:31:06 +0000 (01:31 +0000)
        * tracepoint.c (collect_symbol): Handle register doubles that
        are stored in two registers.

gdb/ChangeLog
gdb/tracepoint.c

index 2ac8f9f31336e88c20c3e7c90d6a9ccdfa666613..d7f31a1d8739e319f64e76f280363d9ab6d7f8b1 100644 (file)
@@ -1,3 +1,8 @@
+Mon Aug 24 18:29:03 1998  Michael Snyder  <msnyder@cleaver.cygnus.com>
+
+       * tracepoint.c (collect_symbol): Handle register doubles that
+       are stored in two registers.
+
 Mon Aug 24 14:39:08 1998  Mark Alexander  <marka@cygnus.com>
 
        * sh-stub.c (undoSStep): Improve comment.
index f85ac540b9a597ac5c23c193bf5def9623f35bc9..107ff4d46f9e20aba4a6db9993dc3cff291556df 100644 (file)
@@ -1206,6 +1206,11 @@ collect_symbol (collect, sym)
     if (info_verbose)
       printf_filtered ("LOC_REG[parm] %s: ", SYMBOL_NAME (sym));
     add_register (collect, reg);
+    /* 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 > REGISTER_RAW_SIZE (reg))
+      add_register (collect, reg + 1);
     break;
   case LOC_REF_ARG:
     printf_filtered ("Sorry, don't know how to do LOC_REF_ARG yet.\n");