From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1386) id 8300C3858C41; Fri, 17 Nov 2023 10:24:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8300C3858C41 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Jan Beulich To: bfd-cvs@sourceware.org Subject: [binutils-gdb] x86: don't allow pseudo-prefixes to be overridden by legacy suffixes X-Act-Checkin: binutils-gdb X-Git-Author: Jan Beulich X-Git-Refname: refs/heads/master X-Git-Oldrev: 3086ed9a458f9bc3a52633fc2a10ffc3f21753f4 X-Git-Newrev: 97f31cb469f288995d3dcaae406531053dff09fa Message-Id: <20231117102425.8300C3858C41@sourceware.org> Date: Fri, 17 Nov 2023 10:24:25 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 17 Nov 2023 10:24:25 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D97f31cb469f2= 88995d3dcaae406531053dff09fa commit 97f31cb469f288995d3dcaae406531053dff09fa Author: Jan Beulich Date: Fri Nov 17 11:23:50 2023 +0100 x86: don't allow pseudo-prefixes to be overridden by legacy suffixes =20 Deprecated functionality would better not win over its modern counterparts. Diff: --- gas/config/tc-i386.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 6e788d8ee97..1692dfcdf54 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -5887,16 +5887,32 @@ parse_insn (const char *line, char *mnemonic, bool = prefix_only) Check if we should swap operand or force 32bit displacement in encoding. */ if (mnem_p - 2 =3D=3D dot_p && dot_p[1] =3D=3D 's') - i.dir_encoding =3D dir_encoding_swap; + { + if (i.dir_encoding =3D=3D dir_encoding_default) + i.dir_encoding =3D dir_encoding_swap; + else + as_warn (_("ignoring `.s' suffix due to earlier `{%s}'"), + i.dir_encoding =3D=3D dir_encoding_load ? "load" : "store"); + } else if (mnem_p - 3 =3D=3D dot_p && dot_p[1] =3D=3D 'd' && dot_p[2] =3D=3D '8') - i.disp_encoding =3D disp_encoding_8bit; + { + if (i.disp_encoding =3D=3D disp_encoding_default) + i.disp_encoding =3D disp_encoding_8bit; + else if (i.disp_encoding !=3D disp_encoding_8bit) + as_warn (_("ignoring `.d8' suffix due to earlier `{disp}'")); + } else if (mnem_p - 4 =3D=3D dot_p && dot_p[1] =3D=3D 'd' && dot_p[2] =3D=3D '3' && dot_p[3] =3D=3D '2') - i.disp_encoding =3D disp_encoding_32bit; + { + if (i.disp_encoding =3D=3D disp_encoding_default) + i.disp_encoding =3D disp_encoding_32bit; + else if (i.disp_encoding !=3D disp_encoding_32bit) + as_warn (_("ignoring `.d32' suffix due to earlier `{disp}'")); + } else goto check_suffix; mnem_p =3D dot_p;