* elf32-ppc.h: New file.
[deliverable/binutils-gdb.git] / gdb / findvar.c
index a95c6aa45dd57eef9300fe6a534be33c6cdc1a9e..4e8a42dc2188399987cce20e13f9fd07962b49f2 100644 (file)
@@ -1,7 +1,8 @@
 /* Find a variable's value in memory, for GDB, the GNU debugger.
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995,
-   1996, 1997, 1998, 1999, 2000, 2001
-   Free Software Foundation, Inc.
+
+   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
+   1995, 1996, 1997, 1998, 1999, 2000, 2001, 2003 Free Software
+   Foundation, Inc.
 
    This file is part of GDB.
 
@@ -115,7 +116,7 @@ That operation is not available on integers of more than %d bytes.",
    function returns 1 and sets *PVAL.  Otherwise it returns 0.  */
 
 int
-extract_long_unsigned_integer (void *addr, int orig_len, LONGEST *pval)
+extract_long_unsigned_integer (const void *addr, int orig_len, LONGEST *pval)
 {
   char *p, *first_addr;
   int len;
@@ -173,7 +174,7 @@ extract_long_unsigned_integer (void *addr, int orig_len, LONGEST *pval)
    else based on POINTER_TO_ADDRESS.  */
 
 CORE_ADDR
-extract_address (void *addr, int len)
+extract_address (const void *addr, int len)
 {
   /* Assume a CORE_ADDR can fit in a LONGEST (for now).  Not sure
      whether we want this to be true eventually.  */
@@ -184,7 +185,7 @@ extract_address (void *addr, int len)
 /* Treat the bytes at BUF as a pointer of type TYPE, and return the
    address it represents.  */
 CORE_ADDR
-extract_typed_address (void *buf, struct type *type)
+extract_typed_address (const void *buf, struct type *type)
 {
   if (TYPE_CODE (type) != TYPE_CODE_PTR
       && TYPE_CODE (type) != TYPE_CODE_REF)
@@ -303,7 +304,7 @@ value_of_register (int regnum, struct frame_info *frame)
   /* Builtin registers lie completly outside of the range of normal
      registers.  Catch them early so that the target never sees them.  */
   if (regnum >= NUM_REGS + NUM_PSEUDO_REGS)
-    return value_of_builtin_reg (regnum, selected_frame);
+    return value_of_builtin_reg (regnum, deprecated_selected_frame);
 
   get_saved_register (raw_buffer, &optim, &addr,
                      frame, regnum, &lval);
@@ -347,13 +348,13 @@ value_of_register (int regnum, struct frame_info *frame)
 /* Given a pointer of type TYPE in target form in BUF, return the
    address it represents.  */
 CORE_ADDR
-unsigned_pointer_to_address (struct type *type, void *buf)
+unsigned_pointer_to_address (struct type *type, const void *buf)
 {
   return extract_address (buf, TYPE_LENGTH (type));
 }
 
 CORE_ADDR
-signed_pointer_to_address (struct type *type, void *buf)
+signed_pointer_to_address (struct type *type, const void *buf)
 {
   return extract_signed_integer (buf, TYPE_LENGTH (type));
 }
@@ -418,7 +419,7 @@ symbol_read_needs_frame (struct symbol *sym)
    and a stack frame id, read the value of the variable
    and return a (pointer to a) struct value containing the value. 
    If the variable cannot be found, return a zero pointer.
-   If FRAME is NULL, use the selected_frame.  */
+   If FRAME is NULL, use the deprecated_selected_frame.  */
 
 struct value *
 read_var_value (register struct symbol *var, struct frame_info *frame)
@@ -435,7 +436,7 @@ read_var_value (register struct symbol *var, struct frame_info *frame)
   len = TYPE_LENGTH (type);
 
   if (frame == NULL)
-    frame = selected_frame;
+    frame = deprecated_selected_frame;
 
   switch (SYMBOL_CLASS (var))
     {
@@ -662,8 +663,10 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
                      1);
 
   if (num_storage_locs > 1
-#ifdef GDB_TARGET_IS_H8500
-      || TYPE_CODE (type) == TYPE_CODE_PTR
+#if 0
+      // OBSOLETE #ifdef GDB_TARGET_IS_H8500
+      // OBSOLETE       || TYPE_CODE (type) == TYPE_CODE_PTR
+      // OBSOLETE #endif
 #endif
     )
     {
@@ -679,76 +682,78 @@ value_from_register (struct type *type, int regnum, struct frame_info *frame)
 
       /* Copy all of the data out, whereever it may be.  */
 
-#ifdef GDB_TARGET_IS_H8500
-/* This piece of hideosity is required because the H8500 treats registers
-   differently depending upon whether they are used as pointers or not.  As a
-   pointer, a register needs to have a page register tacked onto the front.
-   An alternate way to do this would be to have gcc output different register
-   numbers for the pointer & non-pointer form of the register.  But, it
-   doesn't, so we're stuck with this.  */
-
-      if (TYPE_CODE (type) == TYPE_CODE_PTR
-         && len > 2)
-       {
-         int page_regnum;
-
-         switch (regnum)
-           {
-           case R0_REGNUM:
-           case R1_REGNUM:
-           case R2_REGNUM:
-           case R3_REGNUM:
-             page_regnum = SEG_D_REGNUM;
-             break;
-           case R4_REGNUM:
-           case R5_REGNUM:
-             page_regnum = SEG_E_REGNUM;
-             break;
-           case R6_REGNUM:
-           case R7_REGNUM:
-             page_regnum = SEG_T_REGNUM;
-             break;
-           }
-
-         value_bytes[0] = 0;
-         get_saved_register (value_bytes + 1,
-                             &optim,
-                             &addr,
-                             frame,
-                             page_regnum,
-                             &lval);
-
-         if (register_cached (page_regnum) == -1)
-           return NULL;        /* register value not available */
-
-         if (lval == lval_register)
-           reg_stor++;
-         else
-           mem_stor++;
-         first_addr = addr;
-         last_addr = addr;
-
-         get_saved_register (value_bytes + 2,
-                             &optim,
-                             &addr,
-                             frame,
-                             regnum,
-                             &lval);
-
-         if (register_cached (regnum) == -1)
-           return NULL;        /* register value not available */
-
-         if (lval == lval_register)
-           reg_stor++;
-         else
-           {
-             mem_stor++;
-             mem_tracking = mem_tracking && (addr == last_addr);
-           }
-         last_addr = addr;
-       }
-      else
-#endif /* GDB_TARGET_IS_H8500 */
+#if 0
+      // OBSOLETE #ifdef GDB_TARGET_IS_H8500
+      // OBSOLETE /* This piece of hideosity is required because the H8500 treats registers
+      // OBSOLETE    differently depending upon whether they are used as pointers or not.  As a
+      // OBSOLETE    pointer, a register needs to have a page register tacked onto the front.
+      // OBSOLETE    An alternate way to do this would be to have gcc output different register
+      // OBSOLETE    numbers for the pointer & non-pointer form of the register.  But, it
+      // OBSOLETE    doesn't, so we're stuck with this.  */
+      // OBSOLETE 
+      // OBSOLETE       if (TYPE_CODE (type) == TYPE_CODE_PTR
+      // OBSOLETE        && len > 2)
+      // OBSOLETE      {
+      // OBSOLETE        int page_regnum;
+      // OBSOLETE 
+      // OBSOLETE        switch (regnum)
+      // OBSOLETE          {
+      // OBSOLETE          case R0_REGNUM:
+      // OBSOLETE          case R1_REGNUM:
+      // OBSOLETE          case R2_REGNUM:
+      // OBSOLETE          case R3_REGNUM:
+      // OBSOLETE            page_regnum = SEG_D_REGNUM;
+      // OBSOLETE            break;
+      // OBSOLETE          case R4_REGNUM:
+      // OBSOLETE          case R5_REGNUM:
+      // OBSOLETE            page_regnum = SEG_E_REGNUM;
+      // OBSOLETE            break;
+      // OBSOLETE          case R6_REGNUM:
+      // OBSOLETE          case R7_REGNUM:
+      // OBSOLETE            page_regnum = SEG_T_REGNUM;
+      // OBSOLETE            break;
+      // OBSOLETE          }
+      // OBSOLETE 
+      // OBSOLETE        value_bytes[0] = 0;
+      // OBSOLETE        get_saved_register (value_bytes + 1,
+      // OBSOLETE                            &optim,
+      // OBSOLETE                            &addr,
+      // OBSOLETE                            frame,
+      // OBSOLETE                            page_regnum,
+      // OBSOLETE                            &lval);
+      // OBSOLETE 
+      // OBSOLETE        if (register_cached (page_regnum) == -1)
+      // OBSOLETE          return NULL;        /* register value not available */
+      // OBSOLETE 
+      // OBSOLETE        if (lval == lval_register)
+      // OBSOLETE          reg_stor++;
+      // OBSOLETE        else
+      // OBSOLETE          mem_stor++;
+      // OBSOLETE        first_addr = addr;
+      // OBSOLETE        last_addr = addr;
+      // OBSOLETE 
+      // OBSOLETE        get_saved_register (value_bytes + 2,
+      // OBSOLETE                            &optim,
+      // OBSOLETE                            &addr,
+      // OBSOLETE                            frame,
+      // OBSOLETE                            regnum,
+      // OBSOLETE                            &lval);
+      // OBSOLETE 
+      // OBSOLETE        if (register_cached (regnum) == -1)
+      // OBSOLETE          return NULL;        /* register value not available */
+      // OBSOLETE 
+      // OBSOLETE        if (lval == lval_register)
+      // OBSOLETE          reg_stor++;
+      // OBSOLETE        else
+      // OBSOLETE          {
+      // OBSOLETE            mem_stor++;
+      // OBSOLETE            mem_tracking = mem_tracking && (addr == last_addr);
+      // OBSOLETE          }
+      // OBSOLETE        last_addr = addr;
+      // OBSOLETE      }
+      // OBSOLETE       else
+      // OBSOLETE #endif /* GDB_TARGET_IS_H8500 */
+#endif
        for (local_regnum = regnum;
             value_bytes_copied < len;
             (value_bytes_copied += REGISTER_RAW_SIZE (local_regnum),
This page took 0.035389 seconds and 4 git commands to generate.