tc-i386.c s_insn and input_line_pointer
Alan Modra
amodra@gmail.com
Mon Apr 20 01:15:54 GMT 2026
A comment in check_Scc_OszcOperations says:
/* No need to save/restore input_line_pointer; that's done in the
caller already. */
That isn't true always. Fix a case where input_line_pointer is not
restored and ignore_rest_of_line() accesses a wild pointer.
* gas/config/tc-i386.c (s_insn <bad>): Restore input_line_pointer.
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 5ce83b0ac71..988b024f0b8 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -13568,6 +13568,7 @@ s_insn (int dummy ATTRIBUTE_UNUSED)
{
bad:
*saved_ilp = saved_char;
+ input_line_pointer = saved_ilp;
ignore_rest_of_line ();
i.tm.mnem_off = 0;
memset (&pp, 0, sizeof (pp));
--
Alan Modra
More information about the Binutils
mailing list