Hi Richi, >> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi >> index c584664e168..58e48f7dc55 100644 >> --- a/gcc/doc/invoke.texi >> +++ b/gcc/doc/invoke.texi >> @@ -18363,11 +18363,11 @@ If @code{N=0}, no pad location is recorded. >> The NOP instructions are inserted at---and maybe before, depending on >> @var{M}---the function entry address, even before the prologue. On >> PowerPC with the ELFv2 ABI, for a function with dual entry points, >> -the local entry point is this function entry address. >> +@var{M} NOP instructions are inserted before the global entry point and >> +@var{N} - @var{M} NOP instructions are inserted after the local entry >> +point, which means the NOP instructions may not be consecutive. > > Isn't it @var{M-1} NOP instructions before the global entry? I suppose
No, the existing documentation is a bit confusing, sigh ... > the existing > > "... with the function entry point before the @var{M}th NOP. > If @var{M} is omitted, it defaults to @code{0} so the > function entry points to the address just at the first NOP." > > wording is self-contradicting in a way since before the 0th NOP (default) > to me is the same as before the 1st NOP (M == 1). So maybe that should > be _after_ the @var{M}th NOP instead which would be consistent with your > ELFv2 docs? Maybe the sentence should be re-worded similar to your > ELVv2 one, specifying the number of NOPs before and after the entry point. > ... the current "with the function entry point before the Mth NOP." has the 0th NOP assumption, so the default (0th) NOP and 1st NOP (M == 1) are actually different, such as: -fpatchable-function-entry=3,0 foo: nop nop nop -fpatchable-function-entry=3,1 nop foo: nop nop Alan also had the similar concern on this wording before: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99888#c8 " Alan Modra 2022-08-12 03:00:29 UTC " "(In reply to Segher Boessenkool from comment #7) "> '-fpatchable-function-entry=N[,M]' "> Generate N NOPs right at the beginning of each function, with the "> function entry point before the Mth NOP. " " Bad doco. Should be "after the Mth NOP" I think. " Or better written to avoid the concept of a 0th nop. " Default for M is zero, placing all nops after the function entry and " before normal function prologue code. BR, Kewen >> -The maximum value of @var{N} and @var{M} is 65535. On PowerPC with the >> -ELFv2 ABI, for a function with dual entry points, the supported values >> -for @var{M} are 0, 2, 6 and 14. >> +The maximum value of @var{N} and @var{M} is 65535. >> @end table >>