]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Move read_mem to dwarf_expr_context
authorZoran Zaric <Zoran.Zaric@amd.com>
Mon, 7 Dec 2020 19:00:08 +0000 (19:00 +0000)
committerSimon Marchi <simon.marchi@polymtl.ca>
Tue, 8 Dec 2020 16:16:18 +0000 (11:16 -0500)
Following the idea of merging the evaluators, the read_mem method can
be moved from dwarf_expr_executor and dwarf_evaluate_loc_desc classes
to their base class dwarf_expr_context.

gdb/ChangeLog:

* dwarf2/expr.c (dwarf_expr_context::read_mem): Move from
dwarf_evaluate_loc_desc.
* dwarf2/frame.c (dwarf_expr_executor::read_mem): Remove
method.
* dwarf2/loc.c (dwarf_evaluate_loc_desc::read_mem): Move to
dwarf_expr_context.

Change-Id: Ied28c2c0fc808fb5e41f9816df8ac731fa4ac2fa

gdb/dwarf2/expr.c
gdb/dwarf2/expr.h
gdb/dwarf2/frame.c
gdb/dwarf2/loc.c

index e6a9e877e4395455a9bc6f9445539444a2abd02b..a2aa9435a2b61d28d3448dfb12b2f0898b4802ed 100644 (file)
@@ -263,6 +263,15 @@ dwarf_expr_context::dwarf_call (cu_offset die_cu_off)
   this->eval (block.data, block.size);
 }
 
+/* See expr.h.  */
+
+void
+dwarf_expr_context::read_mem (gdb_byte *buf, CORE_ADDR addr,
+                             size_t length)
+{
+  read_memory (addr, buf, length);
+}
+
 /* Require that TYPE be an integral type; throw an exception if not.  */
 
 static void
index e3e8bf8ae53e443d88ffa4087bdee07ad7ab1157..3c40dde13da9ae062703096da0de21d94ed34a65 100644 (file)
@@ -196,7 +196,7 @@ struct dwarf_expr_context
   CORE_ADDR obj_address;
 
   /* Read LENGTH bytes at ADDR into BUF.  */
-  virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length) = 0;
+  virtual void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t length);
 
   /* Push on DWARF stack an entry evaluated for DW_TAG_call_site's
      parameter matching KIND and KIND_U at the caller of specified BATON.
index 96bfdc145219c681cdad828c286cf9fc95829b6e..46f3f5145dbfec62bc7214c7877db541e5131cc9 100644 (file)
@@ -231,11 +231,6 @@ public:
     : dwarf_expr_context (per_objfile)
   {}
 
-  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
-  {
-    read_memory (addr, buf, len);
-  }
-
   void push_dwarf_reg_entry_value (enum call_site_parameter_kind kind,
                                   union call_site_parameter_u kind_u,
                                   int deref_size) override
index c1f5457e1de398cddc0505badafc78421edc578d..679852c81bff31664b0af3448dc8d1637c5ccedb 100644 (file)
@@ -686,13 +686,6 @@ public:
 
     this->eval (data_src, size);
   }
-
-  /* Read memory at ADDR (length LEN) into BUF.  */
-
-  void read_mem (gdb_byte *buf, CORE_ADDR addr, size_t len) override
-  {
-    read_memory (addr, buf, len);
-  }
 };
 
 /* See dwarf2loc.h.  */