Hi, On Mon, 2009-11-09 at 16:26 -0800, David Daney wrote: > Wu Zhangjin wrote: > > > > > +ifndef CONFIG_FUNCTION_TRACER > > cflags-y := -ffunction-sections > > +else > > +cflags-y := -mlong-calls > > +endif > > cflags-y += $(call cc-option, -mno-check-zero-division) > > > > That doesn't make sense to me. Modules are already compiled with > -mlong-calls. The only time you would need the entire kernel compiled > with -mlong-calls is if the tracer were in a module. The logic here > doesn't seem to reflect that. Yes, I knew the module have gotten the -mlong-calls, Here we just want to use -mlong-calls for the whole kernel, and then we get the same _mcount stuff in the whole kernel, at last, we can use the same scripts/recordmcount.pl and ftrace_make_nop & ftrace_make_call for the dynamic ftracer. And seems we only need to enable it for the dynamic one. So, I will split it out into it's own patch later. Thanks & Regards, Wu Zhangjin