]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - opcodes/disassemble.c
Fix printf formatting errors where "0x" is used as a prefix for a decimal number.
[thirdparty/binutils-gdb.git] / opcodes / disassemble.c
index cc1de6986e2d3d1d06047aa302fa184d2e469914..290dcdd100d19437e7f52423d629711e3c2a007e 100644 (file)
@@ -1,5 +1,5 @@
 /* Select disassembly routine for specified architecture.
-   Copyright (C) 1994-2019 Free Software Foundation, Inc.
+   Copyright (C) 1994-2020 Free Software Foundation, Inc.
 
    This file is part of the GNU opcodes library.
 
@@ -21,7 +21,7 @@
 #include "sysdep.h"
 #include "disassemble.h"
 #include "safe-ctype.h"
-#include <assert.h>
+#include "opintl.h"
 
 #ifdef ARCH_all
 #define ARCH_aarch64
 # ifdef ARCH_m32c
 enum epbf_isa_attr
 {
ISA_EBPFLE, ISA_EBPFBE, ISA_EBPFMAX
 ISA_EBPFLE, ISA_EBPFBE, ISA_XBPFLE, ISA_XBPFBE, ISA_EBPFMAX
 };
 # else
 #  include "bpf-desc.h"
@@ -660,13 +660,22 @@ disassemble_init_for_target (struct disassemble_info * info)
 #endif
 #ifdef ARCH_bpf
     case bfd_arch_bpf:
+      info->endian_code = BFD_ENDIAN_LITTLE;
       if (!info->private_data)
        {
-         info->private_data = cgen_bitset_create (ISA_EBPFMAX);
+         info->private_data = cgen_bitset_create (ISA_MAX);
          if (info->endian == BFD_ENDIAN_BIG)
-           cgen_bitset_set (info->private_data, ISA_EBPFBE);
+           {
+             cgen_bitset_set (info->private_data, ISA_EBPFBE);
+             if (info->mach == bfd_mach_xbpf)
+               cgen_bitset_set (info->private_data, ISA_XBPFBE);
+           }
          else
-           cgen_bitset_set (info->private_data, ISA_EBPFLE);
+           {
+             cgen_bitset_set (info->private_data, ISA_EBPFLE);
+             if (info->mach == bfd_mach_xbpf)
+               cgen_bitset_set (info->private_data, ISA_XBPFLE);
+           }
        }
       break;
 #endif
@@ -832,3 +841,11 @@ disassembler_options_cmp (const char *s1, const char *s2)
 
   return c1 - c2;
 }
+
+void
+opcodes_assert (const char *file, int line)
+{
+  opcodes_error_handler (_("assertion fail %s:%d"), file, line);
+  opcodes_error_handler (_("Please report this bug"));
+  abort ();
+}