diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2016-04-23 09:32:59 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2016-04-23 09:32:59 -0700 |
commit | c0f92bf9430546707f2154b8a2656974e5c7093c (patch) | |
tree | dde63748ac5b7de95638b8c85e8c72e6f96b926c /opcodes | |
parent | 0ca76ec3e5a987238d3d9932f5dc4dae9b3138ab (diff) | |
download | gdb-c0f92bf9430546707f2154b8a2656974e5c7093c.zip gdb-c0f92bf9430546707f2154b8a2656974e5c7093c.tar.gz gdb-c0f92bf9430546707f2154b8a2656974e5c7093c.tar.bz2 |
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.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/ChangeLog | 7 | ||||
-rw-r--r-- | opcodes/i386-dis.c | 7 |
2 files changed, 14 insertions, 0 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index c423976..b835086 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2016-04-23 H.J. Lu <hongjiu.lu@intel.com> + + 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 <tbsaunde+binutils@tbsaunde.org> * alpha-dis.c: Regenerate. diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index de0534c..560f75c 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; |