Impact: Fix section mismatch.
The function ftrace_profile_debugfs() references a variable placed in
.init.data section. Thus causes a section mismatch warning. Since
ftrace_profile_debugfs() has been called from only
ftrace_init_debugfs, so we can safely mark ftrace_profile_debugfs as
init. Also it contains a trivial style fix, __init should be placed
between function type and function name (ftrace_init_debugfs).
We were warned by the following warning:
LD kernel/trace/libftrace.o
WARNING: kernel/trace/libftrace.o(.text+0xff0): Section mismatch in
reference from the function ftrace_profile_debugfs() to the variable
.init.data:function_stats
The function ftrace_profile_debugfs() references
the variable __initdata function_stats.
This is often because ftrace_profile_debugfs lacks a __initdata
annotation or the annotation of function_stats is wrong.
---
Signed-off-by: Rakib Mullick <[email protected]>
--- linus/kernel/trace/ftrace.c 2009-07-11 20:54:13.000000000 +0600
+++ rakib/kernel/trace/ftrace.c 2009-07-12 12:21:54.000000000 +0600
@@ -768,7 +768,7 @@ static struct tracer_stat function_stats
.stat_show = function_stat_show
};
-static void ftrace_profile_debugfs(struct dentry *d_tracer)
+static void __init ftrace_profile_debugfs(struct dentry *d_tracer)
{
struct ftrace_profile_stat *stat;
struct dentry *entry;
@@ -813,7 +813,7 @@ static void ftrace_profile_debugfs(struc
}
#else /* CONFIG_FUNCTION_PROFILER */
-static void ftrace_profile_debugfs(struct dentry *d_tracer)
+static void __init ftrace_profile_debugfs(struct dentry *d_tracer)
{
}
#endif /* CONFIG_FUNCTION_PROFILER */
@@ -3068,7 +3068,7 @@ static const struct file_operations ftra
.write = ftrace_pid_write,
};
-static __init int ftrace_init_debugfs(void)
+static int __init ftrace_init_debugfs(void)
{
struct dentry *d_tracer;
Rakib Mullick wrote:
> Impact: Fix section mismatch.
>
> The function ftrace_profile_debugfs() references a variable placed in
> .init.data section. Thus causes a section mismatch warning. Since
> ftrace_profile_debugfs() has been called from only
> ftrace_init_debugfs, so we can safely mark ftrace_profile_debugfs as
Thanks. It has been fixed by commit
9d9949ce45b42be7a8157ea00fff2b1005ed844a in tip tree
> init. Also it contains a trivial style fix, __init should be placed
> between function type and function name (ftrace_init_debugfs).
>
I think both styles are Ok.
On Mon, Jul 13, 2009 at 6:47 AM, Li Zefan<[email protected]> wrote:
> Thanks. It has been fixed by commit
> 9d9949ce45b42be7a8157ea00fff2b1005ed844a in tip tree
>
Ah, sorry for noice.
>> init. Also it contains a trivial style fix, __init should be placed
>> between function type and function name (ftrace_init_debugfs).
>>
>
> I think both styles are Ok.
Yes, but I think we need to be consistent with one style.
>
>
* Rakib Mullick <[email protected]> wrote:
> On Mon, Jul 13, 2009 at 6:47 AM, Li Zefan<[email protected]> wrote:
>
> > Thanks. It has been fixed by commit
> > 9d9949ce45b42be7a8157ea00fff2b1005ed844a in tip tree
> >
> Ah, sorry for noice.
that commit was queued up for .32 - i've cherry-picked it over into
the .31 queue of commits.
Ingo