diff options
author | Alan Modra <amodra@gmail.com> | 2002-09-24 01:47:49 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-09-24 01:47:49 +0000 |
commit | 3c16c2663caef2eadbf0033fe807236ba4093cea (patch) | |
tree | d37e52a72f5ee83d3e90ac1004ae7020fe02b95f | |
parent | c80537160d2808e87254111a132f38770326dde5 (diff) | |
download | gdb-3c16c2663caef2eadbf0033fe807236ba4093cea.zip gdb-3c16c2663caef2eadbf0033fe807236ba4093cea.tar.gz gdb-3c16c2663caef2eadbf0033fe807236ba4093cea.tar.bz2 |
* config/tc-i386.c (process_operands): Warn about "lea" segment
overrides.
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-i386.c | 19 |
2 files changed, 15 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index e14abbb..f0901e6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -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-23 Daniel Jacobowitz <drow@mvista.com> Merge from mainline: diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 5ba79cb..8bbdaca 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -2589,9 +2589,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 (); } @@ -2618,12 +2617,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]) + 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)) |