https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88954
--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Martin Sebor from comment #1)
> I'm wondering if noplt is meant to be a property of the function pointer or
> that of its type?
>
> Either way, what should happen in cases when a noplt pointer is assigned the
> address of a PLT function? E.g.,:
>
> void (*p_noplt)(void) = f_noplt;
>
> void f (int i)
> {
> if (i < 0)
> p_noplt = f_plt;
> }
>
> Do calls through p_noplt still happen without the use of the PLT after the
> assignment? Should a warning be issued when a noplt pointer is assigned the
> address of an ordinary PLT function?
noplt attribute only applies to function, not function pointer.