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

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

https://gcc.gnu.org/g:2582080f19e8fe9c1204dfb6fecf744311f00777

commit r13-1717-g2582080f19e8fe9c1204dfb6fecf744311f00777
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Thu Jul 14 10:31:21 2022 -0700

    x86: Disable sibcall if indirect_return attribute doesn't match

    When shadow stack is enabled, function with indirect_return attribute
    may return via indirect jump.  In this case, we need to disable sibcall
    if caller doesn't have indirect_return attribute and indirect branch
    tracking is enabled since compiler won't generate ENDBR when calling the
    caller.

    gcc/

            PR target/85620
            * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
            false if callee has indirect_return attribute and caller
            doesn't.

    gcc/testsuite/

            PR target/85620
            * gcc.target/i386/pr85620-2.c: Updated.
            * gcc.target/i386/pr85620-5.c: New test.
            * gcc.target/i386/pr85620-6.c: Likewise.
            * gcc.target/i386/pr85620-7.c: Likewise.

Reply via email to