[Bug target/98667] gcc generates endbr32 invalid opcode on -march=i486

cvs-commit at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Jan 14 15:43:10 GMT 2021


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98667

--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <hjl@gcc.gnu.org>:

https://gcc.gnu.org/g:77d372abec0fbf2cfe922e3140ee3410248f979e

commit r11-6672-g77d372abec0fbf2cfe922e3140ee3410248f979e
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Jan 14 05:56:46 2021 -0800

    x86: Error on -fcf-protection with incompatible target

    -fcf-protection with CF_BRANCH inserts ENDBR32 at function entries.
    ENDBR32 is NOP only on 64-bit processors and 32-bit TARGET_CMOV
    processors.  Issue an error for -fcf-protection with CF_BRANCH when
    compiling for 32-bit non-TARGET_CMOV targets.

    gcc/

            PR target/98667
            * config/i386/i386-options.c (ix86_option_override_internal):
            Issue an error for -fcf-protection with CF_BRANCH when compiling
            for 32-bit non-TARGET_CMOV targets.

    gcc/testsuite/

            PR target/98667
            * gcc.target/i386/pr98667-1.c: New file.
            * gcc.target/i386/pr98667-2.c: Likewise.
            * gcc.target/i386/pr98667-3.c: Likewise.


More information about the Gcc-bugs mailing list