Use target_read_code in skip_prologue (amd64)
authorYao Qi <yao@codesourcery.com>
Wed, 23 Oct 2013 13:49:32 +0000 (21:49 +0800)
committerYao Qi <yao@codesourcery.com>
Tue, 10 Dec 2013 12:27:56 +0000 (20:27 +0800)
gdb:

2013-12-10  Yao Qi  <yao@codesourcery.com>

* amd64-tdep.c (amd64_analyze_stack_align): Call
target_read_code instead of target_read_memory.
(amd64_analyze_prologue): Call read_code_unsigned_integer
instead of read_memory_unsigned_integer.  Call read_code
instead of read_memory.
(amd64_skip_xmm_prologue): Likewise.

gdb/ChangeLog
gdb/amd64-tdep.c

index 003341c..47680bf 100644 (file)
@@ -1,5 +1,14 @@
 2013-12-10  Yao Qi  <yao@codesourcery.com>
 
+       * amd64-tdep.c (amd64_analyze_stack_align): Call
+       target_read_code instead of target_read_memory.
+       (amd64_analyze_prologue): Call read_code_unsigned_integer
+       instead of read_memory_unsigned_integer.  Call read_code
+       instead of read_memory.
+       (amd64_skip_xmm_prologue): Likewise.
+
+2013-12-10  Yao Qi  <yao@codesourcery.com>
+
        * corefile.c (read_code): New function.
        (read_code_integer): New function.
        (read_code_unsigned_integer): New function.
index 1bb72ca..19968fc 100644 (file)
@@ -1761,7 +1761,7 @@ amd64_analyze_stack_align (CORE_ADDR pc, CORE_ADDR current_pc,
   int reg, r;
   int offset, offset_and;
 
-  if (target_read_memory (pc, buf, sizeof buf))
+  if (target_read_code (pc, buf, sizeof buf))
     return pc;
 
   /* Check caller-saved saved register.  The first instruction has
@@ -2104,7 +2104,7 @@ amd64_analyze_prologue (struct gdbarch *gdbarch,
   else
     pc = amd64_analyze_stack_align (pc, current_pc, cache);
 
-  op = read_memory_unsigned_integer (pc, 1, byte_order);
+  op = read_code_unsigned_integer (pc, 1, byte_order);
 
   if (op == 0x55)              /* pushq %rbp */
     {
@@ -2117,7 +2117,7 @@ amd64_analyze_prologue (struct gdbarch *gdbarch,
       if (current_pc <= pc + 1)
         return current_pc;
 
-      read_memory (pc + 1, buf, 3);
+      read_code (pc + 1, buf, 3);
 
       /* Check for `movq %rsp, %rbp'.  */
       if (memcmp (buf, mov_rsp_rbp_1, 3) == 0
@@ -2185,7 +2185,7 @@ amd64_skip_xmm_prologue (CORE_ADDR pc, CORE_ADDR start_pc)
     return pc;
 
   /* START_PC can be from overlayed memory, ignored here.  */
-  if (target_read_memory (next_sal.pc - 4, buf, sizeof (buf)) != 0)
+  if (target_read_code (next_sal.pc - 4, buf, sizeof (buf)) != 0)
     return pc;
 
   /* test %al,%al */