Refactor arm_software_single_step to use regcache
[deliverable/binutils-gdb.git] / gdb / prologue-value.h
index ec44cad021f052cf7a7bee034302ce6818c248e6..7d3d779073b7bd378282ee1b1be1a388b11cf75a 100644 (file)
@@ -1,11 +1,11 @@
 /* Interface to prologue value handling for GDB.
-   Copyright 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2003-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
 
    This program is distributed in the hope that it will be useful,
    GNU General Public License for more details.
 
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to:
-
-        Free Software Foundation, Inc.
-        51 Franklin St - Fifth Floor
-        Boston, MA 02110-1301
-        USA */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #ifndef PROLOGUE_VALUE_H
 #define PROLOGUE_VALUE_H
 
+/* What sort of value is this?  This determines the interpretation
+   of subsequent fields.  */
+enum prologue_value_kind
+{
+  /* We don't know anything about the value.  This is also used for
+     values we could have kept track of, when doing so would have
+     been too complex and we don't want to bother.  The bottom of
+     our lattice.  */
+  pvk_unknown,
+
+  /* A known constant.  K is its value.  */
+  pvk_constant,
+
+  /* The value that register REG originally had *UPON ENTRY TO THE
+     FUNCTION*, plus K.  If K is zero, this means, obviously, just
+     the value REG had upon entry to the function.  REG is a GDB
+     register number.  Before we start interpreting, we initialize
+     every register R to { pvk_register, R, 0 }.  */
+  pvk_register,
+};
+
 /* When we analyze a prologue, we're really doing 'abstract
    interpretation' or 'pseudo-evaluation': running the function's code
    in simulation, but using conservative approximations of the values
@@ -125,25 +141,7 @@ struct prologue_value {
 
   /* What sort of value is this?  This determines the interpretation
      of subsequent fields.  */
-  enum {
-
-    /* We don't know anything about the value.  This is also used for
-       values we could have kept track of, when doing so would have
-       been too complex and we don't want to bother.  The bottom of
-       our lattice.  */
-    pvk_unknown,
-
-    /* A known constant.  K is its value.  */
-    pvk_constant,
-
-    /* The value that register REG originally had *UPON ENTRY TO THE
-       FUNCTION*, plus K.  If K is zero, this means, obviously, just
-       the value REG had upon entry to the function.  REG is a GDB
-       register number.  Before we start interpreting, we initialize
-       every register R to { pvk_register, R, 0 }.  */
-    pvk_register,
-
-  } kind;
+  enum prologue_value_kind kind;
 
   /* The meanings of the following fields depend on 'kind'; see the
      comments for the specific 'kind' values.  */
@@ -234,8 +232,11 @@ struct pv_area;
 
    Stores to constant addresses, unknown addresses, or to addresses
    relative to registers other than BASE_REG will trash this area; see
-   pv_area_store_would_trash.  */
-struct pv_area *make_pv_area (int base_reg);
+   pv_area_store_would_trash.
+
+   To check whether a pointer refers to this area, only the low
+   ADDR_BIT bits will be compared.  */
+struct pv_area *make_pv_area (int base_reg, int addr_bit);
 
 /* Free AREA.  */
 void free_pv_area (struct pv_area *area);
@@ -285,7 +286,7 @@ int pv_area_store_would_trash (struct pv_area *area, pv_t addr);
    instead, and collecting all your information in one pass.  */
 int pv_area_find_reg (struct pv_area *area,
                       struct gdbarch *gdbarch,
-                      int register,
+                      int reg,
                       CORE_ADDR *offset_p);
 
 
This page took 0.036948 seconds and 4 git commands to generate.