https://sourceware.org/bugzilla/show_bug.cgi?id=27419
Bug ID: 27419
Summary: x86-64: regression: gas accepts invalid code
(movdir64b / enqcmd)
Product: binutils
Version: 2.36.1
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: gas
Assignee: unassigned at sourceware dot org
Reporter: jbeulich at suse dot com
Target Milestone: ---
As a supposed fix (really at best: workaround, bug gas/26685) for a gcc
shortcoming, symbol(%rip) style operands got special cased when present for
these insns. This leads to gas accepting e.g.
movdir64b foo(%rip),%ecx
despite being invalid. The two operands are really ambiguous, and hence
shouldn't be accepted silently: Besides the gcc issue (which ought to be
addressed there instead of worked around in gas), the programmer (of plain
assembly sources or inline asm()) may have meant either
movdir64b foo(%eip),%ecx
or
movdir64b foo(%rip),%rcx
To make the workaround remotely acceptable, it should imo at least be
restricted to the --x32 case. Even there it would better be warned about,
perhaps unless -q was specified.
--
You are receiving this mail because:
You are on the CC list for the bug.