public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/85620] Missing ENDBR after swapcontext
       [not found] <bug-85620-4@http.gcc.gnu.org/bugzilla/>
@ 2022-07-14 13:08 ` aoliva at gcc dot gnu.org
  2022-07-14 16:10 ` hjl.tools at gmail dot com
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 4+ messages in thread
From: aoliva at gcc dot gnu.org @ 2022-07-14 13:08 UTC (permalink / raw)
  To: gcc-bugs

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

Alexandre Oliva <aoliva at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
             Status|RESOLVED                    |REOPENED
                 CC|                            |aoliva at gcc dot gnu.org

--- Comment #10 from Alexandre Oliva <aoliva at gcc dot gnu.org> ---
ISTM that if you have to insert an endbr over indirect_return, a call should
only be eligible for sibcall if the caller is also marked with indirect_return,
otherwise the callee will indirectly return directly to an upstack caller that
may not have an endbr after the call, no?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug middle-end/85620] Missing ENDBR after swapcontext
       [not found] <bug-85620-4@http.gcc.gnu.org/bugzilla/>
  2022-07-14 13:08 ` [Bug middle-end/85620] Missing ENDBR after swapcontext aoliva at gcc dot gnu.org
@ 2022-07-14 16:10 ` hjl.tools at gmail dot com
  2022-07-15 23:58 ` cvs-commit at gcc dot gnu.org
  2024-04-03 19:58 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 4+ messages in thread
From: hjl.tools at gmail dot com @ 2022-07-14 16:10 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from H.J. Lu <hjl.tools at gmail dot com> ---
Created attachment 53299
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53299&action=edit
A patch

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug middle-end/85620] Missing ENDBR after swapcontext
       [not found] <bug-85620-4@http.gcc.gnu.org/bugzilla/>
  2022-07-14 13:08 ` [Bug middle-end/85620] Missing ENDBR after swapcontext aoliva at gcc dot gnu.org
  2022-07-14 16:10 ` hjl.tools at gmail dot com
@ 2022-07-15 23:58 ` cvs-commit at gcc dot gnu.org
  2024-04-03 19:58 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-07-15 23:58 UTC (permalink / raw)
  To: gcc-bugs

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 <hjl@gcc.gnu.org>:

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

commit r13-1717-g2582080f19e8fe9c1204dfb6fecf744311f00777
Author: H.J. Lu <hjl.tools@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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug middle-end/85620] Missing ENDBR after swapcontext
       [not found] <bug-85620-4@http.gcc.gnu.org/bugzilla/>
                   ` (2 preceding siblings ...)
  2022-07-15 23:58 ` cvs-commit at gcc dot gnu.org
@ 2024-04-03 19:58 ` pinskia at gcc dot gnu.org
  3 siblings, 0 replies; 4+ messages in thread
From: pinskia at gcc dot gnu.org @ 2024-04-03 19:58 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|REOPENED                    |RESOLVED
   Target Milestone|9.0                         |13.0

--- Comment #13 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-04-03 19:58 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <bug-85620-4@http.gcc.gnu.org/bugzilla/>
2022-07-14 13:08 ` [Bug middle-end/85620] Missing ENDBR after swapcontext aoliva at gcc dot gnu.org
2022-07-14 16:10 ` hjl.tools at gmail dot com
2022-07-15 23:58 ` cvs-commit at gcc dot gnu.org
2024-04-03 19:58 ` pinskia at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).