Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 17 Dec 2018 21:05:50 -0600 | From | Josh Poimboeuf <> | Subject | Re: objtool warnings for kernel/trace/trace_selftest_dynamic.o |
| |
On Mon, Dec 17, 2018 at 05:36:44PM -0500, Steven Rostedt wrote: > On Mon, 17 Dec 2018 15:31:26 -0600 > Josh Poimboeuf <jpoimboe@redhat.com> wrote: > > > On Mon, Dec 17, 2018 at 08:29:38PM +0100, Peter Zijlstra wrote: > > > On Mon, Dec 17, 2018 at 12:16:38PM -0600, Josh Poimboeuf wrote: > > > > > > > > Yes LTO causes the to be treated like static functions. > > > > > > > > > > I guess noclone is unlikely to be really needed here because these > > > > > functions are unlikely to be cloned. > > > > > > > > > > So as a workaround it could be removed. > > > > > > > > > > But note we have other noclone functions in the tree (like in KVM) > > > > > which actually need it. > > > > > > > > How about we just use the __used attribute then? It seems to have the > > > > same result of preventing IPA optimizations (without the weird side > > > > effect of missing frame pointers). > > > > > > AFAIK we don't have any in-tree LTO, so it can all go in the bin. > > > > > > When/if we get the LTO trainwreck sorted -- which very much includes > > > getting that memory-order-consume fixed -- we can revisit all that. > > > > Ok, then if there are no objections I'll just send a revert of: > > > > dd3dad0d716d ("ftrace: Mark function tracer test functions noinline/noclone") > > > > Should it be reverted, or just remove the noclone, and keep the > noinline?
If we want to support out-of-tree LTO, then it should only need "used", because wouldn't that imply noinline?
If we *don't* want to support out-of-tree LTO, then it shouldn't need any special attributes, because the functions aren't static so GCC won't mess with their ABI.
-- Josh
| ![\](/images/icornerr.gif) |