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] Call print_insn_mep in mep_gdb_print_insn


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

commit 8cafda321ca8588a9e42d78d8713b031696405bc
Author: Yao Qi <yao.qi@linaro.org>
Date:   Thu Jan 26 14:29:19 2017 +0000

    Call print_insn_mep in mep_gdb_print_insn
    
    opcodes/mep-dis.c:mep_print_insn has already had the code to
    handle the case when info->section is NULL,
    
      /* Picking the right ISA bitmask for the current context is tricky.  */
      if (info->section)
        {
        }
      else /* sid or gdb */
        {
        }
    
    so that we can still cal print_insn_mep even section can't be found.
    On the other hand, user can disassemble an arbitrary address which
    doesn't map to any section at all.
    
    gdb:
    
    2017-01-26  Yao Qi  <yao.qi@linaro.org>
    
    	* mep-tdep.c (mep_gdb_print_insn): Set info->arch
    	to bfd_arch_mep.  Don't return 0 if section is not
    	found.  Call print_insn_mep.

Diff:
---
 gdb/ChangeLog  |  6 ++++++
 gdb/mep-tdep.c | 10 +++-------
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 90d0cb3..246d09e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2017-01-26  Yao Qi  <yao.qi@linaro.org>
+
+	* mep-tdep.c (mep_gdb_print_insn): Set info->arch
+	to bfd_arch_mep.  Don't return 0 if section is not
+	found.  Call print_insn_mep.
+
 2017-01-26  Pedro Alves  <palves@redhat.com>
 	    Yao Qi  <yao.qi@linaro.org>
 
diff --git a/gdb/mep-tdep.c b/gdb/mep-tdep.c
index 68b0c4b..b1dcc86 100644
--- a/gdb/mep-tdep.c
+++ b/gdb/mep-tdep.c
@@ -1266,13 +1266,12 @@ mep_pseudo_register_write (struct gdbarch *gdbarch,
 
 /* Disassembly.  */
 
-/* The mep disassembler needs to know about the section in order to
-   work correctly.  */
 static int
 mep_gdb_print_insn (bfd_vma pc, disassemble_info * info)
 {
   struct obj_section * s = find_pc_section (pc);
 
+  info->arch = bfd_arch_mep;
   if (s)
     {
       /* The libopcodes disassembly code uses the section to find the
@@ -1280,12 +1279,9 @@ mep_gdb_print_insn (bfd_vma pc, disassemble_info * info)
          the me_module index, and the me_module index to select the
          right instructions to print.  */
       info->section = s->the_bfd_section;
-      info->arch = bfd_arch_mep;
-	
-      return print_insn_mep (pc, info);
     }
-  
-  return 0;
+
+  return print_insn_mep (pc, info);
 }


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