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

--- Comment #4 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:727efd27da90fe09ed393c7bb44bba071ae0e0d3

commit r11-1680-g727efd27da90fe09ed393c7bb44bba071ae0e0d3
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Fri Jun 12 05:44:59 2020 -0700

    Linux/i386: Remove SUBTARGET_FRAME_POINTER_REQUIRED

    config/i386/gnu-user.h has

     #define SUBTARGET_FRAME_POINTER_REQUIRED crtl->profile

    ix86_frame_pointer_required() has

      /* Several x86 os'es need a frame pointer for other reasons,
         usually pertaining to setjmp.  */
      if (SUBTARGET_FRAME_POINTER_REQUIRED)
        return true;
    ...

      if (crtl->profile && !flag_fentry)
        return true;

    A frame pointer is needed only for -pg, not for -mfentry -pg.  Remove
    SUBTARGET_FRAME_POINTER_REQUIRED from gnu-user.h to make i386 GCC behave
    the same as x86-64 GCC.  This fixes

    FAIL: gcc.target/i386/pr93492-3.c scan-assembler
\t.cfi_startproc\n\tendbr(32|64)\n.*.LPFE1:\n\tnop\n1:\tcall\t__fentry__\n\tret\n
    FAIL: gcc.target/i386/pr93492-5.c scan-assembler
\t.cfi_startproc\n.*.LPFE1:\n\tnop\n1:\tcall\t__fentry__\n\tret\n

    on Linux/i386.

            PR target/95655
            * config/i386/gnu-user.h (SUBTARGET_FRAME_POINTER_REQUIRED):
            Removed.
            * config/i386/i386.c (ix86_frame_pointer_required): Update
            comments.

Reply via email to