This is the mail archive of the gdb-cvs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Use code cache in aarch64 prologue analyzer


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=fc2f703edb656c69b0026a006c6063cdb255e06a

commit fc2f703edb656c69b0026a006c6063cdb255e06a
Author: Yao Qi <yao.qi@linaro.org>
Date:   Fri Dec 9 09:51:20 2016 +0000

    Use code cache in aarch64 prologue analyzer
    
    This patch change aarch prologue analyzer using code cache, in order
    to improve the performance of remote debugging.
    
    gdb.perf/skip-prologue.exp (measured by wall-time) is improved when
    the program is compiled without debug information.
    
    			Original	Patched		Original	Patched
    			without dbg	without dbg	with dbg	with dbg
    
    /			11.1635239124	9.99472999573	9.65339517593	9.66648793221
    -fstack-protector-all	11.2560930252	9.338118	9.63896489143	9.59474396706
    
    gdb:
    
    2016-12-9  Yao Qi  <yao.qi@linaro.org>
    
    	* aarch64-tdep.c (instruction_reader::read): Call
    	read_code_unsigned_integer instead of
    	read_memory_unsigned_integer.

Diff:
---
 gdb/ChangeLog      | 6 ++++++
 gdb/aarch64-tdep.c | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index cd5a9ea..4b268f5 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,11 @@
 2016-12-09  Yao Qi  <yao.qi@linaro.org>
 
+	* aarch64-tdep.c (instruction_reader::read): Call
+	read_code_unsigned_integer instead of
+	read_memory_unsigned_integer.
+
+2016-12-09  Yao Qi  <yao.qi@linaro.org>
+
 	* arm-tdep.c (skip_prologue_function): Call
 	read_code_unsigned_integer instead of
 	read_memory_unsigned_integer.
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index 590dcf6..0175630 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -213,7 +213,7 @@ class instruction_reader : public abstract_instruction_reader
  public:
   ULONGEST read (CORE_ADDR memaddr, int len, enum bfd_endian byte_order)
   {
-    return read_memory_unsigned_integer (memaddr, len, byte_order);
+    return read_code_unsigned_integer (memaddr, len, byte_order);
   }
 };


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]