[binutils-gdb] Stop the ARC disassembler from seg-faulting if initialised without a BFD present.

Nick Clifton nickc@sourceware.org
Wed Sep 14 11:20:00 GMT 2016


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

commit dce084426d75b45ef728425a880d642a604c36a7
Author: Anton Kolesov <Anton.Kolesov@synopsys.com>
Date:   Wed Sep 14 12:20:13 2016 +0100

    Stop the ARC disassembler from seg-faulting if initialised without a BFD present.
    
    	* arc-dis.c (arc_get_disassembler): Accept a null bfd gracefully.

Diff:
---
 opcodes/ChangeLog |  4 ++++
 opcodes/arc-dis.c | 11 ++++++++---
 2 files changed, 12 insertions(+), 3 deletions(-)

diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index 82eeec3..363f441 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,7 @@
+2016-09-14  Anton Kolesov  <Anton.Kolesov@synopsys.com>
+
+	* arc-dis.c (arc_get_disassembler): Accept a null bfd gracefully.
+
 2016-09-12  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
 
 	* s390-mkopc.c (main): Support alternate arch strings.
diff --git a/opcodes/arc-dis.c b/opcodes/arc-dis.c
index d69a01e..ac03b8c 100644
--- a/opcodes/arc-dis.c
+++ b/opcodes/arc-dis.c
@@ -1238,11 +1238,16 @@ print_insn_arc (bfd_vma memaddr,
 disassembler_ftype
 arc_get_disassembler (bfd *abfd)
 {
-  /* Read the extenssion insns and registers, if any.  */
-  build_ARC_extmap (abfd);
+  /* BFD my be absent, if opcodes is invoked from the debugger that
+     has connected to remote target and doesn't have an ELF file.  */
+  if (abfd != NULL)
+    {
+      /* Read the extension insns and registers, if any.  */
+      build_ARC_extmap (abfd);
 #ifdef DEBUG
-  dump_ARC_extmap ();
+      dump_ARC_extmap ();
 #endif
+    }
 
   return print_insn_arc;
 }



More information about the Binutils-cvs mailing list