2008-11-20 20:36:47

by Steven Rostedt

[permalink] [raw]
Subject: [PATCH 1/3] sh: dynamic ftrace support.

From: Matt Fleming <[email protected]>

First cut at dynamic ftrace support.

[
Steven Rostedt - only updated the recordmcount.pl file.
There are updates for PowerPC that will conflict with this,
and we need to base off of these changes.
]

Signed-off-by: Matt Fleming <[email protected]>
Signed-off-by: Paul Mundt <[email protected]>
Signed-off-by: Steven Rostedt <[email protected]>
---
scripts/recordmcount.pl | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index eeac71c..9f75438 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -170,6 +170,17 @@ if ($arch eq "x86_64") {
$objcopy .= " -O elf32-i386";
$cc .= " -m32";

+} elsif ($arch eq "sh") {
+ $section_regex = "Disassembly of section\\s+(\\S+):";
+ $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
+ $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
+ $type = ".long";
+
+ # force flags for this arch
+ $ld .= " -m shlelf_linux";
+ $objcopy .= " -O elf32-sh-linux";
+ $cc .= " -m32";
+
} else {
die "Arch $arch is not supported with CONFIG_FTRACE_MCOUNT_RECORD";
}
--
1.5.6.5

--


2008-11-21 07:46:05

by Paul Mundt

[permalink] [raw]
Subject: Re: [PATCH 1/3] sh: dynamic ftrace support.

On Thu, Nov 20, 2008 at 03:34:16PM -0500, Steven Rostedt wrote:
> +} elsif ($arch eq "sh") {
> + $section_regex = "Disassembly of section\\s+(\\S+):";
> + $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
> + $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
> + $type = ".long";
> +
> + # force flags for this arch
> + $ld .= " -m shlelf_linux";
> + $objcopy .= " -O elf32-sh-linux";
> + $cc .= " -m32";
> +

Note that if the $alignment changes are in this version, you will also
need to add an $alignment = 2; for sh. That was in Matt's original patch,
but I stripped the alignment line out in the commit given that it was not
yet present in the mainline version of the script.

2008-11-21 09:00:59

by Matt Fleming

[permalink] [raw]
Subject: Re: [PATCH 1/3] sh: dynamic ftrace support.

On Fri, Nov 21, 2008 at 04:44:29PM +0900, Paul Mundt wrote:
> On Thu, Nov 20, 2008 at 03:34:16PM -0500, Steven Rostedt wrote:
> > +} elsif ($arch eq "sh") {
> > + $section_regex = "Disassembly of section\\s+(\\S+):";
> > + $function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
> > + $mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
> > + $type = ".long";
> > +
> > + # force flags for this arch
> > + $ld .= " -m shlelf_linux";
> > + $objcopy .= " -O elf32-sh-linux";
> > + $cc .= " -m32";
> > +
>
> Note that if the $alignment changes are in this version, you will also
> need to add an $alignment = 2; for sh. That was in Matt's original patch,
> but I stripped the alignment line out in the commit given that it was not
> yet present in the mainline version of the script.

I've sent a patch to steven for his tip/devel branch that adds this line.