From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
Milton Miller <miltonm@bga.com>,
Matt Fleming <matthew.fleming@imgtec.com>,
linuxppc-dev@ozlabs.org, Steven Rostedt <srostedt@redhat.com>,
Paul Mackerras <paulus@samba.org>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>
Subject: [PATCH 1/9] ftrace: align __mcount_loc sections
Date: Wed, 19 Nov 2008 16:22:05 -0500 [thread overview]
Message-ID: <20081119212333.052756846@goodmis.org> (raw)
In-Reply-To: 20081119212204.318400312@goodmis.org
Impact: add alignment option for recordmcount.pl script
Align the __mcount_loc sections so that architectures with strict
alignment requirements need not worry about performing unaligned
accesses.
This fixes an issue where I was seeing unaligned accesses, which are not
supported on our architecture (the results of an unaligned access are
undefined).
Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
scripts/recordmcount.pl | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 6b9fe3e..eeac71c 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -134,6 +134,7 @@ my $section_regex; # Find the start of a section
my $function_regex; # Find the name of a function
# (return offset and func name)
my $mcount_regex; # Find the call site to mcount (return offset)
+my $alignment; # The .align value to use for $mcount_section
if ($arch eq "x86") {
if ($bits == 64) {
@@ -148,6 +149,7 @@ if ($arch eq "x86_64") {
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$";
$type = ".quad";
+ $alignment = 8;
# force flags for this arch
$ld .= " -m elf_x86_64";
@@ -160,6 +162,7 @@ if ($arch eq "x86_64") {
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
$type = ".long";
+ $alignment = 4;
# force flags for this arch
$ld .= " -m elf_i386";
@@ -288,6 +291,7 @@ sub update_funcs
open(FILE, ">$mcount_s") || die "can't create $mcount_s\n";
$opened = 1;
print FILE "\t.section $mcount_section,\"a\",\@progbits\n";
+ print FILE "\t.align $alignment\n";
}
printf FILE "\t%s %s + %d\n", $type, $ref_func, $offsets[$i] - $offset;
}
--
1.5.6.5
--
WARNING: multiple messages have this Message-ID (diff)
From: Steven Rostedt <rostedt@goodmis.org>
To: linux-kernel@vger.kernel.org
Cc: Paul Mackerras <paulus@samba.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Milton Miller <miltonm@bga.com>, Ingo Molnar <mingo@elte.hu>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev@ozlabs.org,
Matt Fleming <matthew.fleming@imgtec.com>,
Steven Rostedt <srostedt@redhat.com>
Subject: [PATCH 1/9] ftrace: align __mcount_loc sections
Date: Wed, 19 Nov 2008 16:22:05 -0500 [thread overview]
Message-ID: <20081119212333.052756846@goodmis.org> (raw)
In-Reply-To: 20081119212204.318400312@goodmis.org
[-- Attachment #1: 0001-ftrace-align-__mcount_loc-sections.patch --]
[-- Type: text/plain, Size: 1977 bytes --]
Impact: add alignment option for recordmcount.pl script
Align the __mcount_loc sections so that architectures with strict
alignment requirements need not worry about performing unaligned
accesses.
This fixes an issue where I was seeing unaligned accesses, which are not
supported on our architecture (the results of an unaligned access are
undefined).
Signed-off-by: Matt Fleming <matthew.fleming@imgtec.com>
Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
scripts/recordmcount.pl | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/scripts/recordmcount.pl b/scripts/recordmcount.pl
index 6b9fe3e..eeac71c 100755
--- a/scripts/recordmcount.pl
+++ b/scripts/recordmcount.pl
@@ -134,6 +134,7 @@ my $section_regex; # Find the start of a section
my $function_regex; # Find the name of a function
# (return offset and func name)
my $mcount_regex; # Find the call site to mcount (return offset)
+my $alignment; # The .align value to use for $mcount_section
if ($arch eq "x86") {
if ($bits == 64) {
@@ -148,6 +149,7 @@ if ($arch eq "x86_64") {
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount([+-]0x[0-9a-zA-Z]+)?\$";
$type = ".quad";
+ $alignment = 8;
# force flags for this arch
$ld .= " -m elf_x86_64";
@@ -160,6 +162,7 @@ if ($arch eq "x86_64") {
$function_regex = "^([0-9a-fA-F]+)\\s+<(.*?)>:";
$mcount_regex = "^\\s*([0-9a-fA-F]+):.*\\smcount\$";
$type = ".long";
+ $alignment = 4;
# force flags for this arch
$ld .= " -m elf_i386";
@@ -288,6 +291,7 @@ sub update_funcs
open(FILE, ">$mcount_s") || die "can't create $mcount_s\n";
$opened = 1;
print FILE "\t.section $mcount_section,\"a\",\@progbits\n";
+ print FILE "\t.align $alignment\n";
}
printf FILE "\t%s %s + %d\n", $type, $ref_func, $offsets[$i] - $offset;
}
--
1.5.6.5
--
next prev parent reply other threads:[~2008-11-19 21:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-19 21:22 [PATCH 0/9] powerpc: port of dynamic ftrace Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt [this message]
2008-11-19 21:22 ` [PATCH 1/9] ftrace: align __mcount_loc sections Steven Rostedt
2008-11-19 21:32 ` Steven Rostedt
2008-11-19 21:32 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 2/9] NOT FOR MAINLINE ftrace: pass module struct to arch dynamic ftrace functions Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 3/9] powerpc: ftrace, do not latency trace idle Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 4/9] powerpc: ftrace, convert to new dynamic ftrace arch API Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 5/9] powerpc/ppc64: ftrace, mcount record powerpc port Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 6/9] powerpc: ftrace, use probe_kernel API to modify code Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 7/9] powerpc/ppc64: ftrace, handle module trampolines for dyn ftrace Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 8/9] powerpc/ppc32: ftrace, enabled dynamic ftrace Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-19 21:22 ` [PATCH 9/9] powerpc/ppc32: ftrace, dynamic ftrace to handle modules Steven Rostedt
2008-11-19 21:22 ` Steven Rostedt
2008-11-20 8:13 ` [PATCH 0/9] powerpc: port of dynamic ftrace Ingo Molnar
2008-11-20 8:13 ` Ingo Molnar
2008-11-20 11:58 ` Steven Rostedt
2008-11-20 11:58 ` Steven Rostedt
2008-11-20 14:53 ` Ingo Molnar
2008-11-20 14:53 ` Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081119212333.052756846@goodmis.org \
--to=rostedt@goodmis.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=matthew.fleming@imgtec.com \
--cc=miltonm@bga.com \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
--cc=srostedt@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.