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