2003-05-22 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Thu, 22 May 2003 18:37:05 +0000 (18:37 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 22 May 2003 18:37:05 +0000 (18:37 +0000)
* stack.c (frame_info): Inline extract_address, replacing it with
extract_unsigned_integer.
* findvar.c (unsigned_pointer_to_address): Ditto.
* dwarf2loc.c (dwarf_expr_read_reg): Ditto.
* dwarf2expr.c (dwarf2_read_address): Ditto.
* frame.c (frame_pc_unwind): Update comment.
* dummy-frame.c (deprecated_read_register_dummy): Update comment.

gdb/ChangeLog
gdb/dummy-frame.c
gdb/dwarf2expr.c
gdb/dwarf2loc.c
gdb/findvar.c
gdb/frame.c
gdb/stack.c

index 14911d0192812aa3297767178316a0c77ce7a162..90d2cab8cdba03e611647fe2c2b754aaf201fce4 100644 (file)
@@ -1,3 +1,13 @@
+2003-05-22  Andrew Cagney  <cagney@redhat.com>
+
+       * stack.c (frame_info): Inline extract_address, replacing it with
+       extract_unsigned_integer.
+       * findvar.c (unsigned_pointer_to_address): Ditto.
+       * dwarf2loc.c (dwarf_expr_read_reg): Ditto.
+       * dwarf2expr.c (dwarf2_read_address): Ditto.
+       * frame.c (frame_pc_unwind): Update comment.
+       * dummy-frame.c (deprecated_read_register_dummy): Update comment.
+
 2003-05-22  Jeff Johnston  <jjohnstn@redhat.com>
 
        * infptrace.c (detach): Call print_sys_errmsg rather than
index ca11bd675f094f64f278e165ba92e9390922b4b3..94413f4baef05b0c5d171a1525cedadb5de3c5a3 100644 (file)
@@ -183,7 +183,7 @@ deprecated_read_register_dummy (CORE_ADDR pc, CORE_ADDR fp, int regno)
       /* NOTE: cagney/2002-08-12: Replaced a call to
         regcache_raw_read_as_address() with a call to
         regcache_cooked_read_unsigned().  The old, ...as_address
-        function was eventually calling extract_unsigned_integer (via
+        function was eventually calling extract_unsigned_integer (nee
         extract_address) to unpack the registers value.  The below is
         doing an unsigned extract so that it is functionally
         equivalent.  The read needs to be cooked as, otherwise, it
index 410cd54c6227f198cb5c8a771d0958461dd13553..aa391ebd6a5e0b698ee7e808351fdb16daaeec2d 100644 (file)
@@ -178,7 +178,9 @@ dwarf2_read_address (unsigned char *buf, unsigned char *buf_end, int *bytes_read
     error ("dwarf2_read_address: Corrupted DWARF expression.");
 
   *bytes_read = TARGET_ADDR_BIT / TARGET_CHAR_BIT;
-  result = extract_address (buf, TARGET_ADDR_BIT / TARGET_CHAR_BIT);
+  /* NOTE: cagney/2003-05-22: This extract is assuming that a DWARF 2
+     address is always unsigned.  That may or may not be true.  */
+  result = extract_unsigned_integer (buf, TARGET_ADDR_BIT / TARGET_CHAR_BIT);
   return result;
 }
 
index 2bb4f268a0b286764a134d2d2a3c7eb75cff26c4..9ed6b7e9665c64a700c0ff61dda44460fbb5c841 100644 (file)
@@ -124,7 +124,9 @@ dwarf_expr_read_reg (void *baton, int dwarf_regnum)
 
   frame_register (debaton->frame, regnum, &optimized, &lval_type, &save_addr,
                  &realnum, buf);
-  result = extract_address (buf, regsize);
+  /* NOTE: cagney/2003-05-22: This extract is assuming that a DWARF 2
+     address is always unsigned.  That may or may not be true.  */
+  result = extract_unsigned_integer (buf, regsize);
 
   return result;
 }
index c9623bf2c4d87802a856fa3062177fc30598b0cf..5d975e43c855ea54171681f2d46c08cb019be77e 100644 (file)
@@ -333,7 +333,7 @@ value_of_register (int regnum, struct frame_info *frame)
 CORE_ADDR
 unsigned_pointer_to_address (struct type *type, const void *buf)
 {
-  return extract_address (buf, TYPE_LENGTH (type));
+  return extract_unsigned_integer (buf, TYPE_LENGTH (type));
 }
 
 CORE_ADDR
index fe863d69d3351e202d56074a0cb1a88e0f7f4270..07e0e5b15b62958e2d0ad34fdb1fdb692d6255e7 100644 (file)
@@ -376,7 +376,7 @@ frame_pc_unwind (struct frame_info *this_frame)
             implementation is no more than:
           
             frame_unwind_register (this_frame, ISA_PC_REGNUM, buf);
-            return extract_address (buf, size of ISA_PC_REGNUM);
+            return extract_unsigned_integer (buf, size of ISA_PC_REGNUM);
 
             Note: this method is very heavily dependent on a correct
             register-unwind implementation, it pays to fix that
index e865270a812ff4f2d972da0853edc2ab2202c117..a0bd7a4ae68222b59daa5e4f6648d410282e8670 100644 (file)
@@ -818,7 +818,10 @@ frame_info (char *addr_exp, int from_tty)
            CORE_ADDR sp;
            frame_register_unwind (fi, SP_REGNUM, &optimized, &lval, &addr,
                                   &realnum, value);
-           sp = extract_address (value, REGISTER_RAW_SIZE (SP_REGNUM));
+           /* NOTE: cagney/2003-05-22: This is assuming that the
+               stack pointer was packed as an unsigned integer.  That
+               may or may not be valid.  */
+           sp = extract_unsigned_integer (value, REGISTER_RAW_SIZE (SP_REGNUM));
            printf_filtered (" Previous frame's sp is ");
            print_address_numeric (sp, 1, gdb_stdout);
            printf_filtered ("\n");