diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2018-07-27 06:35:09 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2018-07-27 06:35:09 -0700 |
commit | 1286ab788188bb8f0b0da2a3def4641fb3817f10 (patch) | |
tree | 8700112aeac564d48acfb5a97bf27785211964b7 /gdb/cli/cli-decode.c | |
parent | 469d3b57cef3d9e02d4bc584a9cc814ef22cdb4e (diff) | |
download | gdb-1286ab788188bb8f0b0da2a3def4641fb3817f10.zip gdb-1286ab788188bb8f0b0da2a3def4641fb3817f10.tar.gz gdb-1286ab788188bb8f0b0da2a3def4641fb3817f10.tar.bz2 |
x86: Check for more than 2 memory references
For
movsd (%esi), %ss:(%edi), %ss:(%eax)
we got
[hjl@gnu-tools-1 tmp]$ as -o x.o x.s
x.s: Assembler messages:
x.s:1: Error: too many memory references for `movsd'
munmap_chunk(): invalid pointer
x.s:1: Internal error (Aborted).
Please report this bug.
[hjl@gnu-tools-1 tmp]$
struct _i386_insn has
const seg_entry *seg[2];
3 memory references will overflow the seg array. We should issue an
error if there are more than 2 memory references.
PR gas/23453
* config/tc-i386.c (parse_operands): Check for more than 2
memory references.
* testsuite/gas/i386/inval.s: Add a movsd test with 3 memory
references.
* testsuite/gas/i386/x86-64-inval.s: Likewise.
* testsuite/gas/i386/inval.l: Updated.
* testsuite/gas/i386/x86-64-inval.l: Likewise.
Diffstat (limited to 'gdb/cli/cli-decode.c')
0 files changed, 0 insertions, 0 deletions