diff options
author | Jan Beulich <jbeulich@novell.com> | 2017-11-13 12:19:34 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2017-11-13 12:19:34 +0100 |
commit | 2abc2bec4d8c241c1cd3972b64162407128b4daf (patch) | |
tree | 55c7f0738e44fe290e1f5d44d8a8d34fbeb2a037 /gas/ChangeLog | |
parent | ed1794ee7a2bd8adc22e5bb8e7343b72758d5692 (diff) | |
download | gdb-2abc2bec4d8c241c1cd3972b64162407128b4daf.zip gdb-2abc2bec4d8c241c1cd3972b64162407128b4daf.tar.gz gdb-2abc2bec4d8c241c1cd3972b64162407128b4daf.tar.bz2 |
x86-64/Intel: issue diagnostic for out of range displacement
... rather than silently dropping it altogether.
i386_finalize_displacement() expects baseindex to already be set, so
the respective statement needs to be moved up. This then also allows a
subsequent conditional to be simplified.
For this to not regress on 32-bit addressing, break out address size
guessing from i386_index_check(), invoking the new function earlier so
that i386_finalize_displacement() has i.prefix[ADDR_PREFIX] available.
i386_addressing_mode () in turn needs i.base_reg / i.index_reg set
earlier.
Diffstat (limited to 'gas/ChangeLog')
-rw-r--r-- | gas/ChangeLog | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 7a5808d..2c63aaa 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2017-11-13 Jan Beulich <jbeulich@suse.com> + + * config/tc-i386.c (i386_index_check): Break out ... + (i386_addressing_mode): ... this new function. + * config/tc-i386-intel.c (i386_intel_operand): Do base/index + swapping and the setting of .baseindex earlier. Call + i386_addressing_mode. + * testsuite/gas/i386/x86-64-inval.s: Add out of range + displacement case. + * testsuite/gas/i386/x86-64-inval.l: Adjust expectations. + 2017-11-09 Jim Wilson <jimw@sifive.com> * testsuite/gas/elf/dwarf2-10.l: Accept optional line number in error. |