From: H.J. Lu Date: Sat, 23 Apr 2016 16:32:59 +0000 (-0700) Subject: Skip if size of bfd_vma is smaller than address size X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c0f92bf9430546707f2154b8a2656974e5c7093c;p=binutils-gdb.git Skip if size of bfd_vma is smaller than address size Disassembler won't work properly when size of bfd_vma is smaller than address size. PR binutils/19983 PR binutils/19984 * i386-dis.c (print_insn): Return -1 if size of bfd_vma is smaller than address size. --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index c42397614cf..b83508607d0 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2016-04-23 H.J. Lu + + PR binutils/19983 + PR binutils/19984 + * i386-dis.c (print_insn): Return -1 if size of bfd_vma is + smaller than address size. + 2016-04-20 Trevor Saunders * alpha-dis.c: Regenerate. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index de0534c24e7..560f75cc024 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -13327,6 +13327,13 @@ print_insn (bfd_vma pc, disassemble_info *info) p++; } + if (address_mode == mode_64bit && sizeof (bfd_vma) < 8) + { + (*info->fprintf_func) (info->stream, + _("64-bit address is disabled")); + return -1; + } + if (intel_syntax) { names64 = intel_names64;