On Wed, 21 Aug 2024 07:05:39 +0900
Masami Hiramatsu (Google) <mhira...@kernel.org> wrote:


> Does the noinline attribute prevent embedding callsite too? I mean
> 
> extern callee()
> 
> noinline callee()
> {
> ...
> }
> 
> caller()
> {
>       callee() // (*)
> }
> 
> In this case, does noinline prevent LTO to embed the callee at the callsite(*)
> or prevent LTO remove the callee() symbol?
>

Even though we have it passed as a parameter, I think the compiler and
linker is smart enough to see that and notice its use, and that the
function passed in is a nop, which doesn't break the flow.

Can you add the __used and see if it fixes it?

-- Steve

Reply via email to