* config/tc-i386.c (process_operands): Warn about "lea" segment
overrides.
This commit is contained in:
parent
30afc28bae
commit
52271982a7
2 changed files with 15 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-09-24 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* config/tc-i386.c (process_operands): Warn about "lea" segment
|
||||
overrides.
|
||||
|
||||
2002-09-22 Mark Elbrecht <snowball3@softhome.net>
|
||||
|
||||
* write.c: Delete set_segment_vma and prototype. Update all callers.
|
||||
|
|
|
@ -2604,9 +2604,8 @@ process_operands ()
|
|||
else if (i.tm.opcode_modifier & Modrm)
|
||||
{
|
||||
/* The opcode is completed (modulo i.tm.extension_opcode which
|
||||
must be put into the modrm byte).
|
||||
Now, we make the modrm & index base bytes based on all the
|
||||
info we've collected. */
|
||||
must be put into the modrm byte). Now, we make the modrm and
|
||||
index base bytes based on all the info we've collected. */
|
||||
|
||||
default_seg = build_modrm_byte ();
|
||||
}
|
||||
|
@ -2633,12 +2632,14 @@ process_operands ()
|
|||
default_seg = &ds;
|
||||
}
|
||||
|
||||
/* If a segment was explicitly specified,
|
||||
and the specified segment is not the default,
|
||||
use an opcode prefix to select it.
|
||||
If we never figured out what the default segment is,
|
||||
then default_seg will be zero at this point,
|
||||
and the specified segment prefix will always be used. */
|
||||
if (i.tm.base_opcode == 0x8d /* lea */ && i.seg[0] && !quiet_warnings)
|
||||
as_warn (_("segment override on `lea' is ineffectual"));
|
||||
|
||||
/* If a segment was explicitly specified, and the specified segment
|
||||
is not the default, use an opcode prefix to select it. If we
|
||||
never figured out what the default segment is, then default_seg
|
||||
will be zero at this point, and the specified segment prefix will
|
||||
always be used. */
|
||||
if ((i.seg[0]) && (i.seg[0] != default_seg))
|
||||
{
|
||||
if (!add_prefix (i.seg[0]->seg_prefix))
|
||||
|
|
Loading…
Reference in a new issue