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

            Bug ID: 112980
           Summary: 64-bit powerpc ELFv2 does not allow nops to be
                    generated before function global entry point
           Product: gcc
           Version: 13.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: naveen at kernel dot org
  Target Milestone: ---

Bug 99888 addressed issue with -fpatchable-function-entry not generating nops
at function local entry point with ppc64le ELFv2. However, the change also
meant that there is now no way to request for nops to be generated _before_ the
function global entry point.

This is problematic if we only want to have two nops generated for storing a
64-bit value. With the current implementation of -fpatchable-function-entry, we
are forced to emit at least 6 nops due to ABI restrictions on the number of
instructions between GEP and LEP. This is required to support Linux kernel
features such as DYNAMIC_FTRACE_WITH_CALL_OPS [1]. Furthermore, it may be
desirable to generate nops before the function entry point so as to minimize
icache usage with functions entered through the global entry point.

Please consider adding an option to allow nops to be generated before the
global entry point.

[1] https://lore.kernel.org/all/20230123134603.1064407-2-mark.rutl...@arm.com/

Reply via email to